Sophie

Sophie

distrib > Mageia > 7 > armv7hl > by-pkgid > 01ac0976508f3453190c92228449ca88 > files > 196

python2-xmpp-1.1.2-10.mga7.armv7hl.rpm

<?xml version="1.0" encoding="ascii"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
          "DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <title>pyxmpp.client.Client</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css" />
  <script type="text/javascript" src="epydoc.js"></script>
</head>

<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="pyxmpp-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            ><a class="navbar" target="_top" href="http://pyxmpp.jajcus.net/">PyXMPP</a></th>
          </tr></table></th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <span class="breadcrumbs">
        <a href="pyxmpp-module.html">Package&nbsp;pyxmpp</a> ::
        <a href="pyxmpp.client-module.html">Module&nbsp;client</a> ::
        Class&nbsp;Client
      </span>
    </td>
    <td>
      <table cellpadding="0" cellspacing="0">
        <!-- hide/show private -->
        <tr><td align="right"><span class="options">[<a href="javascript:void(0);" class="privatelink"
    onclick="toggle_private();">hide&nbsp;private</a>]</span></td></tr>
      </table>
    </td>
  </tr>
</table>
<!-- ==================== CLASS DESCRIPTION ==================== -->
<h1 class="epydoc">Class Client</h1><p class="nomargin-top"><span class="codelink"><a href="pyxmpp.client-pysrc.html#Client">source&nbsp;code</a></span></p>
<dl><dt>Known Subclasses:</dt>
<dd>
      <ul class="subclass-list">
<li><a href="pyxmpp.jabber.client.JabberClient-class.html">jabber.client.JabberClient</a></li>  </ul>
</dd></dl>

<hr />
<p>Base class for an XMPP-IM client.</p>
<p>This class does not provide any JSF extensions to the XMPP protocol,
including legacy authentication methods.</p>

<!-- ==================== INSTANCE METHODS ==================== -->
<a name="section-InstanceMethods"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Instance Methods</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-InstanceMethods"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pyxmpp.client.Client-class.html#__init__" class="summary-sig-name">__init__</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">jid</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">password</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">server</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">port</span>=<span class="summary-sig-default">5222</span>,
        <span class="summary-sig-arg">auth_methods</span>=<span class="summary-sig-default"><code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">sasl:DIGEST-MD5</code><code class="variable-quote">'</code><code class="variable-group">)</code></span>,
        <span class="summary-sig-arg">tls_settings</span>=<span class="summary-sig-default">None</span>,
        <span class="summary-sig-arg">keepalive</span>=<span class="summary-sig-default">0</span>)</span><br />
      Initialize a Client object.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.__init__">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pyxmpp.client.Client-class.html#__roster_error" class="summary-sig-name" onclick="show_private();">__roster_error</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">iq</span>)</span><br />
      Process roster request failure.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.__roster_error">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pyxmpp.client.Client-class.html#__roster_push" class="summary-sig-name" onclick="show_private();">__roster_push</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">iq</span>)</span><br />
      Process a &quot;roster push&quot; (change notification) received.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.__roster_push">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pyxmpp.client.Client-class.html#__roster_result" class="summary-sig-name" onclick="show_private();">__roster_result</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">iq</span>)</span><br />
      Process roster request success.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.__roster_result">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pyxmpp.client.Client-class.html#__roster_timeout" class="summary-sig-name" onclick="show_private();">__roster_timeout</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Process roster request time out.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.__roster_timeout">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pyxmpp.client.Client-class.html#__session_error" class="summary-sig-name" onclick="show_private();">__session_error</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">iq</span>)</span><br />
      Process session request failure.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.__session_error">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pyxmpp.client.Client-class.html#__session_result" class="summary-sig-name" onclick="show_private();">__session_result</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">_unused</span>)</span><br />
      Process session request success.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.__session_result">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pyxmpp.client.Client-class.html#__session_timeout" class="summary-sig-name" onclick="show_private();">__session_timeout</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Process session request time out.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.__session_timeout">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pyxmpp.client.Client-class.html#__stream_state_change" class="summary-sig-name" onclick="show_private();">__stream_state_change</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">state</span>,
        <span class="summary-sig-arg">arg</span>)</span><br />
      Handle stream state changes.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.__stream_state_change">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr class="private">
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pyxmpp.client.Client-class.html#_session_started" class="summary-sig-name" onclick="show_private();">_session_started</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Called when session is started.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client._session_started">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pyxmpp.client.Client-class.html#authenticated" class="summary-sig-name">authenticated</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Handle &quot;authenticated&quot; event.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.authenticated">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pyxmpp.client.Client-class.html#authorized" class="summary-sig-name">authorized</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Handle &quot;authorized&quot; event.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.authorized">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pyxmpp.client.Client-class.html#connect" class="summary-sig-name">connect</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">register</span>=<span class="summary-sig-default">False</span>)</span><br />
      Connect to the server and set up the stream.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.connect">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pyxmpp.client.Client-class.html#connected" class="summary-sig-name">connected</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Handle &quot;connected&quot; event.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.connected">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="disconnect"></a><span class="summary-sig-name">disconnect</span>(<span class="summary-sig-arg">self</span>)</span><br />
      Disconnect from the server.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.disconnect">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pyxmpp.client.Client-class.html#disconnected" class="summary-sig-name">disconnected</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Handle &quot;disconnected&quot; event.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.disconnected">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type"><code class="link">socket.socket</code></span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pyxmpp.client.Client-class.html#get_socket" class="summary-sig-name">get_socket</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Get the socket object of the active connection.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.get_socket">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type"><a href="pyxmpp.clientstream.ClientStream-class.html" class="link">pyxmpp.ClientStream</a></span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pyxmpp.client.Client-class.html#get_stream" class="summary-sig-name">get_stream</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Get the connected stream object.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.get_stream">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pyxmpp.client.Client-class.html#idle" class="summary-sig-name">idle</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Do some &quot;housekeeping&quot; work like cache expiration or timeout
handling.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.idle">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pyxmpp.client.Client-class.html#loop" class="summary-sig-name">loop</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">timeout</span>=<span class="summary-sig-default">1</span>)</span><br />
      Simple &quot;main loop&quot; for the client.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.loop">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="request_roster"></a><span class="summary-sig-name">request_roster</span>(<span class="summary-sig-arg">self</span>)</span><br />
      Request the user's roster.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.request_roster">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a name="request_session"></a><span class="summary-sig-name">request_session</span>(<span class="summary-sig-arg">self</span>)</span><br />
      Request an IM session.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.request_session">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pyxmpp.client.Client-class.html#roster_updated" class="summary-sig-name">roster_updated</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">item</span>=<span class="summary-sig-default">None</span>)</span><br />
      Handle roster update event.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.roster_updated">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pyxmpp.client.Client-class.html#session_started" class="summary-sig-name">session_started</a>(<span class="summary-sig-arg">self</span>)</span><br />
      Handle session started event.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.session_started">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pyxmpp.client.Client-class.html#stream_closed" class="summary-sig-name">stream_closed</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">stream</span>)</span><br />
      Handle stream closure event.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.stream_closed">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pyxmpp.client.Client-class.html#stream_created" class="summary-sig-name">stream_created</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">stream</span>)</span><br />
      Handle stream creation event.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.stream_created">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pyxmpp.client.Client-class.html#stream_error" class="summary-sig-name">stream_error</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">err</span>)</span><br />
      Handle stream error received.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.stream_error">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">&nbsp;</span>
    </td><td class="summary">
      <table width="100%" cellpadding="0" cellspacing="0" border="0">
        <tr>
          <td><span class="summary-sig"><a href="pyxmpp.client.Client-class.html#stream_state_changed" class="summary-sig-name">stream_state_changed</a>(<span class="summary-sig-arg">self</span>,
        <span class="summary-sig-arg">state</span>,
        <span class="summary-sig-arg">arg</span>)</span><br />
      Handle any stream state change.</td>
          <td align="right" valign="top">
            <span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.stream_state_changed">source&nbsp;code</a></span>
            
          </td>
        </tr>
      </table>
      
    </td>
  </tr>
</table>
<!-- ==================== INSTANCE VARIABLES ==================== -->
<a name="section-InstanceVariables"></a>
<table class="summary" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Instance Variables</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-InstanceVariables"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">: <code class="link">list</code> of <code class="link">str</code></span>
    </td><td class="summary">
        <a href="pyxmpp.client.Client-class.html#auth_methods" class="summary-name">auth_methods</a><br />
      : methods allowed for stream authentication.
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">: <code class="link">list</code></span>
    </td><td class="summary">
        <a href="pyxmpp.client.Client-class.html#interface_providers" class="summary-name">interface_providers</a><br />
      : list of object providing interfaces that
could be used by the Client object.
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">: <a href="pyxmpp.jid.JID-class.html" class="link">pyxmpp.JID</a></span>
    </td><td class="summary">
        <a name="jid"></a><span class="summary-name">jid</span><br />
      : configured JID of the client (current actual JID
is avialable as <code class="link">self.stream.jid</code>).
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">: <code class="link">int</code></span>
    </td><td class="summary">
        <a name="keepalive"></a><span class="summary-name">keepalive</span><br />
      : keepalive interval for the stream or 0 when keepalive is
disabled.
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">: <code class="link">threading.RLock</code></span>
    </td><td class="summary">
        <a name="lock"></a><span class="summary-name">lock</span><br />
      : lock for synchronizing <a href="pyxmpp.client.Client-class.html" class="link">Client</a> attributes access.
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">: <code class="link">unicode</code></span>
    </td><td class="summary">
        <a name="password"></a><span class="summary-name">password</span><br />
      : authentication password.
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">: <code class="link">int</code></span>
    </td><td class="summary">
        <a name="port"></a><span class="summary-name">port</span><br />
      : port number on the server to use if non-standard and not
discoverable by SRV lookups.
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">: <a href="pyxmpp.roster.Roster-class.html" class="link">pyxmpp.Roster</a></span>
    </td><td class="summary">
        <a name="roster"></a><span class="summary-name">roster</span><br />
      : user's roster or <code class="link">None</code> if the roster is not yet retrieved.
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">: <code class="link">unicode</code></span>
    </td><td class="summary">
        <a name="server"></a><span class="summary-name">server</span><br />
      : server to use if non-standard and not discoverable
by SRV lookups.
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">: <code class="link">bool</code></span>
    </td><td class="summary">
        <a name="session_established"></a><span class="summary-name">session_established</span><br />
      : <code class="link">True</code> when an IM session is established.
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">: <code class="link">threading.Condition</code></span>
    </td><td class="summary">
        <a name="state_changed"></a><span class="summary-name">state_changed</span><br />
      : condition notified the the object state changes
(stream becomes connected, session established etc.).
    </td>
  </tr>
<tr>
    <td width="15%" align="right" valign="top" class="summary">
      <span class="summary-type">: <a href="pyxmpp.clientstream.ClientStream-class.html" class="link">pyxmpp.ClientStream</a></span>
    </td><td class="summary">
        <a name="stream"></a><span class="summary-name">stream</span><br />
      : current stream when the client is connected,
<code class="link">None</code> otherwise.
    </td>
  </tr>
</table>
<!-- ==================== METHOD DETAILS ==================== -->
<a name="section-MethodDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Method Details</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-MethodDetails"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
</table>
<a name="__init__"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__init__</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">jid</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">password</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">server</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">port</span>=<span class="sig-default">5222</span>,
        <span class="sig-arg">auth_methods</span>=<span class="sig-default"><code class="variable-group">(</code><code class="variable-quote">'</code><code class="variable-string">sasl:DIGEST-MD5</code><code class="variable-quote">'</code><code class="variable-group">)</code></span>,
        <span class="sig-arg">tls_settings</span>=<span class="sig-default">None</span>,
        <span class="sig-arg">keepalive</span>=<span class="sig-default">0</span>)</span>
    <br /><em class="fname">(Constructor)</em>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.__init__">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  Initialize a Client object.
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>jid</code></strong> (: <a href="pyxmpp.jid.JID-class.html" class="link">pyxmpp.JID</a>) - : user full JID for the connection.</li>
        <li><strong class="pname"><code>password</code></strong> (: <code class="link">unicode</code>) - : user password.</li>
        <li><strong class="pname"><code>server</code></strong> (: <code class="link">unicode</code>) - : server to use. If not given then address will be derived form the JID.</li>
        <li><strong class="pname"><code>port</code></strong> (: <code class="link">int</code>) - : port number to use. If not given then address will be derived form the JID.</li>
        <li><strong class="pname"><code>auth_methods</code></strong> (: sequence of <code class="link">str</code>) - : sallowed authentication methods. SASL authentication mechanisms
in the list should be prefixed with &quot;sasl:&quot; string.</li>
        <li><strong class="pname"><code>tls_settings</code></strong> (: <a href="pyxmpp.streamtls.TLSSettings-class.html" class="link">pyxmpp.TLSSettings</a>) - : settings for StartTLS -- <a href="pyxmpp.streamtls.TLSSettings-class.html" class="link">TLSSettings</a> instance.</li>
        <li><strong class="pname"><code>keepalive</code></strong> (: <code class="link">int</code>) - : keepalive output interval. 0 to disable.</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="__roster_error"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__roster_error</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">iq</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.__roster_error">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  Process roster request failure.
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>iq</code></strong> (: <a href="pyxmpp.iq.Iq-class.html" class="link">pyxmpp.Iq</a>) - : IQ error stanza received as result of the roster request.</li>
    </ul></dd>
    <dt>Raises:</dt>
    <dd><ul class="nomargin-top">
        <li><code><strong class='fraise'><a href="pyxmpp.exceptions.ClientError-class.html">ClientError</a></strong></code></li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="__roster_push"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__roster_push</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">iq</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.__roster_push">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  Process a &quot;roster push&quot; (change notification) received.
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>iq</code></strong> (: <a href="pyxmpp.iq.Iq-class.html" class="link">pyxmpp.Iq</a>) - : IQ result stanza received.</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="__roster_result"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__roster_result</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">iq</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.__roster_result">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  Process roster request success.
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>iq</code></strong> (: <a href="pyxmpp.iq.Iq-class.html" class="link">pyxmpp.Iq</a>) - : IQ result stanza received in reply to the roster request.</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="__roster_timeout"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__roster_timeout</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.__roster_timeout">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  Process roster request time out.
  <dl class="fields">
    <dt>Raises:</dt>
    <dd><ul class="nomargin-top">
        <li><code><strong class='fraise'><a href="pyxmpp.exceptions.ClientError-class.html">ClientError</a></strong></code></li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="__session_error"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__session_error</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">iq</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.__session_error">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  Process session request failure.
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>iq</code></strong> (: <a href="pyxmpp.iq.Iq-class.html" class="link">pyxmpp.Iq</a>) - : IQ error stanza received as result of the session request.</li>
    </ul></dd>
    <dt>Raises:</dt>
    <dd><ul class="nomargin-top">
        <li><code><strong class='fraise'><a href="pyxmpp.exceptions.FatalClientError-class.html">FatalClientError</a></strong></code></li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="__session_result"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__session_result</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">_unused</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.__session_result">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  Process session request success.
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>_unused</code></strong> (: <a href="pyxmpp.iq.Iq-class.html" class="link">pyxmpp.Iq</a>) - : IQ result stanza received in reply to the session request.</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="__session_timeout"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__session_timeout</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.__session_timeout">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  Process session request time out.
  <dl class="fields">
    <dt>Raises:</dt>
    <dd><ul class="nomargin-top">
        <li><code><strong class='fraise'><a href="pyxmpp.exceptions.FatalClientError-class.html">FatalClientError</a></strong></code></li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="__stream_state_change"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">__stream_state_change</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">state</span>,
        <span class="sig-arg">arg</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.__stream_state_change">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Handle stream state changes.</p>
<p>Call apopriate methods of self.</p>
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>state</code></strong> (: <code class="link">str</code>) - : the new state.</li>
        <li><strong class="pname"><code>arg</code></strong> - : state change argument.</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="_session_started"></a>
<div class="private">
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">_session_started</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pyxmpp.client-pysrc.html#Client._session_started">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Called when session is started.</p>
<p>Activates objects from <code class="link">self.interface_provides</code> by installing
their stanza handlers, etc.</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="authenticated"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">authenticated</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.authenticated">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  Handle &quot;authenticated&quot; event. May be overriden in derived classes.
This one does nothing.
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="authorized"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">authorized</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.authorized">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  Handle &quot;authorized&quot; event. May be overriden in derived classes.
This one requests an IM session.
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="connect"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">connect</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">register</span>=<span class="sig-default">False</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.connect">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Connect to the server and set up the stream.</p>
<p>Set <a href="pyxmpp.client.Client-class.html#stream" class="link">self.stream</a> and notify <a href="pyxmpp.client.Client-class.html#state_changed" class="link">self.state_changed</a> when connection
succeeds.</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="connected"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">connected</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.connected">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  Handle &quot;connected&quot; event. May be overriden in derived classes.
This one does nothing.
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="disconnected"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">disconnected</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.disconnected">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  Handle &quot;disconnected&quot; event. May be overriden in derived classes.
This one does nothing.
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="get_socket"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">get_socket</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.get_socket">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  Get the socket object of the active connection.
  <dl class="fields">
    <dt>Returns: <code class="link">socket.socket</code></dt>
        <dd>socket used by the stream.</dd>
  </dl>
</td></tr></table>
</div>
<a name="get_stream"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">get_stream</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.get_stream">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  Get the connected stream object.
  <dl class="fields">
    <dt>Returns: <a href="pyxmpp.clientstream.ClientStream-class.html" class="link">pyxmpp.ClientStream</a></dt>
        <dd>stream object or <code class="link">None</code> if the client is not connected.</dd>
  </dl>
</td></tr></table>
</div>
<a name="idle"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">idle</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.idle">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  Do some &quot;housekeeping&quot; work like cache expiration or timeout
handling. Should be called periodically from the application main
loop. May be overriden in derived classes.
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="loop"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">loop</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">timeout</span>=<span class="sig-default">1</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.loop">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  <p>Simple &quot;main loop&quot; for the client.</p>
<p>By default just call the <code class="link">pyxmpp.Stream.loop_iter</code> method of
<a href="pyxmpp.client.Client-class.html#stream" class="link">self.stream</a>, which handles stream input and <a href="pyxmpp.client.Client-class.html#idle" class="link">self.idle</a> for some
&quot;housekeeping&quot; work until the stream is closed.</p>
<p>This usually will be replaced by something more sophisticated. E.g.
handling of other input sources.</p>
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="roster_updated"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">roster_updated</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">item</span>=<span class="sig-default">None</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.roster_updated">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  Handle roster update event. May be overriden in derived classes.
This one does nothing.
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>item</code></strong> (: <a href="pyxmpp.roster.RosterItem-class.html" class="link">pyxmpp.RosterItem</a>) - : the roster item changed or <code class="link">None</code> if whole roster was
received.</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="session_started"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">session_started</span>(<span class="sig-arg">self</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.session_started">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  Handle session started event. May be overriden in derived classes.
This one requests the user's roster and sends the initial presence.
  <dl class="fields">
  </dl>
</td></tr></table>
</div>
<a name="stream_closed"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">stream_closed</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">stream</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.stream_closed">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  Handle stream closure event. May be overriden in derived classes.
This one does nothing.
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>stream</code></strong> (: <a href="pyxmpp.clientstream.ClientStream-class.html" class="link">pyxmpp.ClientStream</a>) - : the new stream.</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="stream_created"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">stream_created</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">stream</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.stream_created">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  Handle stream creation event. May be overriden in derived classes.
This one does nothing.
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>stream</code></strong> (: <a href="pyxmpp.clientstream.ClientStream-class.html" class="link">pyxmpp.ClientStream</a>) - : the new stream.</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="stream_error"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">stream_error</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">err</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.stream_error">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  Handle stream error received. May be overriden in derived classes.
This one passes an error messages to logging facilities.
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>err</code></strong> (: <a href="pyxmpp.error.StreamErrorNode-class.html" class="link">pyxmpp.error.StreamErrorNode</a>) - : the error element received.</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<a name="stream_state_changed"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <table width="100%" cellpadding="0" cellspacing="0" border="0">
  <tr valign="top"><td>
  <h3 class="epydoc"><span class="sig"><span class="sig-name">stream_state_changed</span>(<span class="sig-arg">self</span>,
        <span class="sig-arg">state</span>,
        <span class="sig-arg">arg</span>)</span>
  </h3>
  </td><td align="right" valign="top"
    ><span class="codelink"><a href="pyxmpp.client-pysrc.html#Client.stream_state_changed">source&nbsp;code</a></span>&nbsp;
    </td>
  </tr></table>
  
  Handle any stream state change. May be overriden in derived classes.
This one does nothing.
  <dl class="fields">
    <dt>Parameters:</dt>
    <dd><ul class="nomargin-top">
        <li><strong class="pname"><code>state</code></strong> (: <code class="link">str</code>) - : the new state.</li>
        <li><strong class="pname"><code>arg</code></strong> - : state change argument.</li>
    </ul></dd>
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== INSTANCE VARIABLE DETAILS ==================== -->
<a name="section-InstanceVariableDetails"></a>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="table-header">
  <td colspan="2" class="table-header">
    <table border="0" cellpadding="0" cellspacing="0" width="100%">
      <tr valign="top">
        <td align="left"><span class="table-header">Instance Variable Details</span></td>
        <td align="right" valign="top"
         ><span class="options">[<a href="#section-InstanceVariableDetails"
         class="privatelink" onclick="toggle_private();"
         >hide private</a>]</span></td>
      </tr>
    </table>
  </td>
</tr>
</table>
<a name="auth_methods"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <h3 class="epydoc">auth_methods</h3>
  : methods allowed for stream authentication. SASL
mechanism names should be preceded with &quot;sasl:&quot; prefix.
  <dl class="fields">
    <dt>Type:</dt>
      <dd>: <code class="link">list</code> of <code class="link">str</code></dd>
  </dl>
</td></tr></table>
</div>
<a name="interface_providers"></a>
<div>
<table class="details" border="1" cellpadding="3"
       cellspacing="0" width="100%" bgcolor="white">
<tr><td>
  <h3 class="epydoc">interface_providers</h3>
  : list of object providing interfaces that
could be used by the Client object. Initialized to [<code class="link">self</code>] by
the constructor if not set earlier. Put objects providing
<a href="pyxmpp.interfaces.IPresenceHandlersProvider-class.html" class="link">IPresenceHandlersProvider</a>, <a href="pyxmpp.interfaces.IMessageHandlersProvider-class.html" class="link">IMessageHandlersProvider</a>,
<a href="pyxmpp.interfaces.IIqHandlersProvider-class.html" class="link">IIqHandlersProvider</a> or <a href="pyxmpp.interfaces.IStanzaHandlersProvider-class.html" class="link">IStanzaHandlersProvider</a> into this list.
  <dl class="fields">
    <dt>Type:</dt>
      <dd>: <code class="link">list</code></dd>
  </dl>
</td></tr></table>
</div>
<br />
<!-- ==================== NAVIGATION BAR ==================== -->
<table class="navbar" border="0" width="100%" cellpadding="0"
       bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="middle">
  <!-- Home link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="pyxmpp-module.html">Home</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Tree link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="module-tree.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Index link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="identifier-index.html">Indices</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Help link -->
      <th>&nbsp;&nbsp;&nbsp;<a
        href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>

  <!-- Project homepage -->
      <th class="navbar" align="right" width="100%">
        <table border="0" cellpadding="0" cellspacing="0">
          <tr><th class="navbar" align="center"
            ><a class="navbar" target="_top" href="http://pyxmpp.jajcus.net/">PyXMPP</a></th>
          </tr></table></th>
  </tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" width="100%%">
  <tr>
    <td align="left" class="footer">
    Generated by Epydoc 3.0.1 on Sun May  8 13:34:59 2011
    </td>
    <td align="right" class="footer">
      <a target="mainFrame" href="http://epydoc.sourceforge.net"
        >http://epydoc.sourceforge.net</a>
    </td>
  </tr>
</table>

<script type="text/javascript">
  <!--
  // Private objects are initially displayed (because if
  // javascript is turned off then we want them to be
  // visible); but by default, we want to hide them.  So hide
  // them unless we have a cookie that says to show them.
  checkCookie();
  // -->
</script>
</body>
</html>