twisted.protocols.msn.html   [plain text]


<?xml version="1.0" encoding="iso-8859-1"?>
<!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>twisted.protocols.msn</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">

<!-- =========== START OF NAVBAR =========== -->
<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="center">
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="twisted.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar" align="right" width="100%">
      <table border="0" cellpadding="0" cellspacing="0">
      <tr><th class="navbar" align="center">
        <p class="nomargin">
          <a class="navbar" target="_top" href="http://twistedmatrix.com/">Twisted&nbsp;1.3.0rc1</a>
      </p></th></tr></table>
    </th>
  </tr>
</table>
<table width="100%" cellpadding="0" cellspacing="0">
  <tr valign="top">
    <td width="100%">
      <font size="-1"><b class="breadcrumbs">
        <a href="twisted.html">Package&nbsp;twisted</a> ::
        <a href="twisted.protocols.html">Package&nbsp;protocols</a> ::
        Module&nbsp;msn
      </b></font></br>
    </td>
    <td><table cellpadding="0" cellspacing="0">
      <tr><td align="right"><font size="-2">[<a href="frames.html"target="_top">frames</a>&nbsp;|&nbsp;<a href="twisted.protocols.msn.html" target="_top">no&nbsp;frames</a>]</font></td></tr>
    </table></td>
</tr></table>

<!-- =========== START OF MODULE DESCRIPTION =========== -->
<h2 class="module">Module twisted.protocols.msn</h2>

<p>MSNP8 Protocol (client only) - semi-experimental</p>
<p>Stability: unstable.</p>
<p>This module provides support for clients using the MSN Protocol 
(MSNP8). There are basically 3 servers involved in any MSN session:</p>
<p><i>Dispatch server</i></p>
<p>The DispatchClient class handles connections to the dispatch server, 
which basically delegates users to a suitable notification server.</p>
<p>You will want to subclass this and handle the gotNotificationReferral 
method appropriately.</p>
<p><i>Notification Server</i></p>
<p>The NotificationClient class handles connections to the notification 
server, which acts as a session server (state updates, message 
negotiation etc...)</p>
<p><i>Switcboard Server</i></p>
<p>The SwitchboardClient handles connections to switchboard servers which 
are used to conduct conversations with other users.</p>
<p>There are also two classes (FileSend and FileReceive) used for file 
transfers.</p>
Clients handle events in two ways.
<ul>
  <li>
    each client request requiring a response will return a Deferred, 
    the callback for same will be fired when the server sends the 
    required response
  </li>
  <li>
    Events which are not in response to any client request have 
    respective methods which should be overridden and handled in an 
    adequate manner
  </li>
</ul>
<p>Most client request callbacks require more than one argument, and 
since Deferreds can only pass the callback one result, most of the time 
the callback argument will be a tuple of values (documented in the 
respective request method). To make reading/writing code easier, 
callbacks can be defined in a number of ways to handle this 'cleanly'. 
One way would be to define methods like: def callBack(self, (arg1, arg2, 
arg)): ... another way would be to do something like: 
d.addCallback(lambda result: myCallback(*result)).</p>
<p>If the server sends an error response to a client request, the errback 
of the corresponding Deferred will be called, the argument being the 
corresponding error code.</p>
<b>NOTE</b>: Due to the lack of an official spec for MSNP8, extra 
checking than may be deemed necessary often takes place considering the 
server is never 'wrong'. Thus, if gotBadLine (in any of the 3 main 
clients) is called, or an MSNProtocolError is raised, it's probably a 
good idea to submit a bug report. ;) Use of this module requires that 
PyOpenSSL is installed.
<h1 class="heading">TODO</h1>
  <ul>
    <li>
      check message hooks with invalid x-msgsinvite messages.
    </li>
    <li>
      font handling
    </li>
    <li>
      switchboard factory
    </li>
  </ul>
<hr/>
<p><b>Author:</b> <a href="mailto:sam&#64;twistedmatrix.com">Sam Jordan</a>
</p>


<!-- =========== START OF CLASSES =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
  <th colspan="2">Classes</th></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.msn.DispatchClient.html"><code>DispatchClient</code></a></b></td>
  <td>This class provides support for clients connecting to the dispatch 
server</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.msn.FileReceive.html"><code>FileReceive</code></a></b></td>
  <td>This class provides support for receiving files from contacts.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.msn.FileSend.html"><code>FileSend</code></a></b></td>
  <td>This class provides support for sending files to other contacts.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.msn.MSNContact.html"><code>MSNContact</code></a></b></td>
  <td>This class represents a contact (user).</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.msn.MSNContactList.html"><code>MSNContactList</code></a></b></td>
  <td>This class represents a basic MSN contact list.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.msn.MSNEventBase.html"><code>MSNEventBase</code></a></b></td>
  <td>This class provides support for handling / dispatching events and is 
the base class of the three main client protocols (DispatchClient, 
NotificationClient, SwitchboardClient)</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.msn.MSNMessage.html"><code>MSNMessage</code></a></b></td>
  <td>I am the class used to represent an 'instant' message.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.msn.NotificationClient.html"><code>NotificationClient</code></a></b></td>
  <td>This class provides support for clients connecting to the notification 
server.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.msn.NotificationFactory.html"><code>NotificationFactory</code></a></b></td>
  <td>Factory for the NotificationClient protocol.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.msn.PassportLogin.html"><code>PassportLogin</code></a></b></td>
  <td>This class is used internally to obtain a login ticket from a passport 
HTTPS server -- it should not be used directly.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.msn.PassportNexus.html"><code>PassportNexus</code></a></b></td>
  <td>Used to obtain the URL of a valid passport login HTTPS server.</td></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.msn.SwitchboardClient.html"><code>SwitchboardClient</code></a></b></td>
  <td>This class provides support for clients connecting to a switchboard 
server.</td></tr>
</table><br />


<!-- =========== START OF EXCEPTIONS =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
  <th colspan="2">Exceptions</th></tr>
<tr><td width="15%">
  <b><a href="twisted.protocols.msn.MSNProtocolError.html"><code>MSNProtocolError</code></a></b></td>
  <td>This Exception is basically used for debugging purposes, as the 
official MSN server should never send anything _wrong_ and nobody in 
their right mind would run their <b>own</b> MSN server.</td></tr>
</table><br />


<!-- =========== START OF FUNCTION SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
  <th colspan="2">Function Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.protocols.msn.html#_login" class="summary-sig-name"><code>_login</code></a>(<span class=summary-sig-arg>userHandle</span>,
          <span class=summary-sig-arg>passwd</span>,
          <span class=summary-sig-arg>nexusServer</span>,
          <span class=summary-sig-arg>cached</span>,
          <span class=summary-sig-arg>authData</span>)</span></code>
<br />
This function is used internally and should not ever be called 
directly.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.protocols.msn.html#_parseHeader" class="summary-sig-name"><code>_parseHeader</code></a>(<span class=summary-sig-arg>h</span>,
          <span class=summary-sig-arg>v</span>)</span></code>
<br />
Split a certin number of known header values with the format: 
field1=val,field2=val,field3=val into a dict mapping fields to 
values.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="_parsePrimitiveHost"></a><span class="summary-sig"><span class="summary-sig-name">_parsePrimitiveHost</span>(<span class=summary-sig-arg>host</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="checkParamLen"></a><span class="summary-sig"><span class="summary-sig-name">checkParamLen</span>(<span class=summary-sig-arg>num</span>,
          <span class=summary-sig-arg>expected</span>,
          <span class=summary-sig-arg>cmd</span>,
          <span class=summary-sig-arg>error</span>)</span></code>
</td></tr>
</table><br />


<!-- =========== START OF VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
  <th colspan="2">Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="twisted.protocols.msn.html#ALLOW_LIST"><code>ALLOW_LIST</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="twisted.protocols.msn.html#BLOCK_LIST"><code>BLOCK_LIST</code></a></b> = <span title="4">4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.msn.html#CR"><code>CR</code></a></b> = <span title="'\r'"><code><span class="variable-quote">'</span>\r<span class="variable-quote">'</span>                                                </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
<td><b><a href="twisted.protocols.msn.html#errorCodes"><code>errorCodes</code></a></b> = <span title="{731: 'Not expected', 520: 'Memory allocation failed', 919: 'Server too busy', 910: 'Server too busy', 911: 'Authentication failed', 912: 'Server too busy', 600: 'Server is busy', 914: 'Server too busy', 915: 'Server too busy', 916: 'Server too busy', 917: 'Server too busy', 918: 'Server too busy', 217: 'User not online', 280: 'Switchboard failed', 281: 'Transfer to switchboard failed', 922: 'Server too busy', 923: 'No parent consent', 540: 'Wrong CHL value sent to server', 602: 'Peer nameserver is down', 800: 'Requests too rapid', 913: 'Not allowed when offline', 717: 'Bad friend file', 60..."><code>{731:&nbsp;'Not&nbsp;expected',&nbsp;520:&nbsp;'Memory&nbsp;allocati<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="twisted.protocols.msn.html#FORWARD_LIST"><code>FORWARD_LIST</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.msn.html#HAS_PAGER"><code>HAS_PAGER</code></a></b> = <span title="'MOB'"><code><span class="variable-quote">'</span>MOB<span class="variable-quote">'</span>                                        </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.msn.html#HOME_PHONE"><code>HOME_PHONE</code></a></b> = <span title="'PHH'"><code><span class="variable-quote">'</span>PHH<span class="variable-quote">'</span>                                       </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.msn.html#LF"><code>LF</code></a></b> = <span title="'\n'"><code><span class="variable-quote">'</span>\n<span class="variable-quote">'</span>                                                </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
<td><b><a href="twisted.protocols.msn.html#listCodeToID"><code>listCodeToID</code></a></b> = <span title="{'rl': 8, 'bl': 4, 'fl': 1, 'al': 2}"><code>{'rl':&nbsp;8,&nbsp;'bl':&nbsp;4,&nbsp;'fl':&nbsp;1,&nbsp;'al':&nbsp;2}      </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
<td><b><a href="twisted.protocols.msn.html#listIDToCode"><code>listIDToCode</code></a></b> = <span title="{8: 'rl', 1: 'fl', 2: 'al', 4: 'bl'}"><code>{8:&nbsp;'rl',&nbsp;1:&nbsp;'fl',&nbsp;2:&nbsp;'al',&nbsp;4:&nbsp;'bl'}      </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="twisted.protocols.msn.html#LOGIN_FAILURE"><code>LOGIN_FAILURE</code></a></b> = <span title="2">2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="twisted.protocols.msn.html#LOGIN_REDIRECT"><code>LOGIN_REDIRECT</code></a></b> = <span title="3">3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="twisted.protocols.msn.html#LOGIN_SUCCESS"><code>LOGIN_SUCCESS</code></a></b> = <span title="1">1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.msn.html#MOBILE_PHONE"><code>MOBILE_PHONE</code></a></b> = <span title="'PHM'"><code><span class="variable-quote">'</span>PHM<span class="variable-quote">'</span>                                     </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="twisted.protocols.msn.html#REVERSE_LIST"><code>REVERSE_LIST</code></a></b> = <span title="8">8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.msn.html#STATUS_AWAY"><code>STATUS_AWAY</code></a></b> = <span title="'AWY'"><code><span class="variable-quote">'</span>AWY<span class="variable-quote">'</span>                                      </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.msn.html#STATUS_BRB"><code>STATUS_BRB</code></a></b> = <span title="'BRB'"><code><span class="variable-quote">'</span>BRB<span class="variable-quote">'</span>                                       </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.msn.html#STATUS_BUSY"><code>STATUS_BUSY</code></a></b> = <span title="'BSY'"><code><span class="variable-quote">'</span>BSY<span class="variable-quote">'</span>                                      </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.msn.html#STATUS_HIDDEN"><code>STATUS_HIDDEN</code></a></b> = <span title="'HDN'"><code><span class="variable-quote">'</span>HDN<span class="variable-quote">'</span>                                    </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.msn.html#STATUS_IDLE"><code>STATUS_IDLE</code></a></b> = <span title="'IDL'"><code><span class="variable-quote">'</span>IDL<span class="variable-quote">'</span>                                      </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.msn.html#STATUS_LUNCH"><code>STATUS_LUNCH</code></a></b> = <span title="'LUN'"><code><span class="variable-quote">'</span>LUN<span class="variable-quote">'</span>                                     </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.msn.html#STATUS_OFFLINE"><code>STATUS_OFFLINE</code></a></b> = <span title="'FLN'"><code><span class="variable-quote">'</span>FLN<span class="variable-quote">'</span>                                   </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.msn.html#STATUS_ONLINE"><code>STATUS_ONLINE</code></a></b> = <span title="'NLN'"><code><span class="variable-quote">'</span>NLN<span class="variable-quote">'</span>                                    </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.msn.html#STATUS_PHONE"><code>STATUS_PHONE</code></a></b> = <span title="'PHN'"><code><span class="variable-quote">'</span>PHN<span class="variable-quote">'</span>                                     </code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>dict</code></font></td>
<td><b><a href="twisted.protocols.msn.html#statusCodes"><code>statusCodes</code></a></b> = <span title="{'PHN': 'On the Phone', 'IDL': 'Idle', 'BSY': 'Busy', 'AWY': 'Away', 'FLN': 'Offline', 'HDN': 'Appear Offline', 'BRB': 'Be Right Back', 'LUN': 'Out to Lunch', 'NLN': 'Online'}"><code>{'PHN':&nbsp;'On&nbsp;the&nbsp;Phone',&nbsp;'IDL':&nbsp;'Idle',&nbsp;'BS<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.msn.html#WORK_PHONE"><code>WORK_PHONE</code></a></b> = <span title="'PHW'"><code><span class="variable-quote">'</span>PHW<span class="variable-quote">'</span>                                       </code>
</span></td></tr>
</table><br />


<!-- =========== START OF FUNCTION DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
  <th colspan="2">Function Details</th></tr>
</table>

<a name="_login"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">_login</span>(<span class=sig-arg>userHandle</span>,
          <span class=sig-arg>passwd</span>,
          <span class=sig-arg>nexusServer</span>,
          <span class=sig-arg>cached</span>=<span class=sig-default>0</span>,
          <span class=sig-arg>authData</span>=<span class=sig-default>''</span>)</span>
  </h3>
  This function is used internally and should not ever be called 
  directly.
  <dl><dt></dt><dd>
  </dd></dl>
</td></tr></table>

<a name="_parseHeader"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">_parseHeader</span>(<span class=sig-arg>h</span>,
          <span class=sig-arg>v</span>)</span>
  </h3>
  Split a certin number of known header values with the format: 
  field1=val,field2=val,field3=val into a dict mapping fields to 
  values.
  <dl><dt></dt><dd>
    <dl><dt><b>Parameters:</b></dt>
      <dd><code><b>h</b></code> -
         the header's key
      <dd><code><b>v</b></code> -
         the header's value as a string
      </dd>
    </dl>
  </dd></dl>
</td></tr></table>
<br />


<!-- =========== START OF VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
  <th colspan="2">Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="ALLOW_LIST"></a>
<h3>ALLOW_LIST</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>int</code>

      </dd>
<span title="2">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="BLOCK_LIST"></a>
<h3>BLOCK_LIST</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>int</code>

      </dd>
<span title="4">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
4&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="CR"></a>
<h3>CR</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'\r'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>\r<span class="variable-quote">'</span>                                                                   </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="errorCodes"></a>
<h3>errorCodes</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>dict</code>

      </dd>
<span title="{731: 'Not expected', 520: 'Memory allocation failed', 919: 'Server too busy', 910: 'Server too busy', 911: 'Authentication failed', 912: 'Server too busy', 600: 'Server is busy', 914: 'Server too busy', 915: 'Server too busy', 916: 'Server too busy', 917: 'Server too busy', 918: 'Server too busy', 217: 'User not online', 280: 'Switchboard failed', 281: 'Transfer to switchboard failed', 922: 'Server too busy', 923: 'No parent consent', 540: 'Wrong CHL value sent to server', 602: 'Peer nameserver is down', 800: 'Requests too rapid', 913: 'Not allowed when offline', 717: 'Bad friend file', 60...">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
{520: 'Memory allocation failed',
 600: 'Server is busy',
 731: 'Not expected',
 910: 'Server too busy',
 911: 'Authentication failed',
 912: 'Server too busy',
 914: 'Server too busy',
 915: 'Server too busy',
<span class="variable-ellipsis">...</span>                                                                    </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="FORWARD_LIST"></a>
<h3>FORWARD_LIST</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>int</code>

      </dd>
<span title="1">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="HAS_PAGER"></a>
<h3>HAS_PAGER</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'MOB'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>MOB<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="HOME_PHONE"></a>
<h3>HOME_PHONE</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'PHH'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>PHH<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="LF"></a>
<h3>LF</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'\n'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'''</span>
<span class="variable-quote">'''</span>                                                                    </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="listCodeToID"></a>
<h3>listCodeToID</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>dict</code>

      </dd>
<span title="{'rl': 8, 'bl': 4, 'fl': 1, 'al': 2}">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
{'rl': 8, 'bl': 4, 'fl': 1, 'al': 2}                                   </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="listIDToCode"></a>
<h3>listIDToCode</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>dict</code>

      </dd>
<span title="{8: 'rl', 1: 'fl', 2: 'al', 4: 'bl'}">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
{8: 'rl', 1: 'fl', 2: 'al', 4: 'bl'}                                   </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="LOGIN_FAILURE"></a>
<h3>LOGIN_FAILURE</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>int</code>

      </dd>
<span title="2">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="LOGIN_REDIRECT"></a>
<h3>LOGIN_REDIRECT</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>int</code>

      </dd>
<span title="3">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="LOGIN_SUCCESS"></a>
<h3>LOGIN_SUCCESS</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>int</code>

      </dd>
<span title="1">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="MOBILE_PHONE"></a>
<h3>MOBILE_PHONE</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'PHM'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>PHM<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="REVERSE_LIST"></a>
<h3>REVERSE_LIST</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>int</code>

      </dd>
<span title="8">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="STATUS_AWAY"></a>
<h3>STATUS_AWAY</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'AWY'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>AWY<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="STATUS_BRB"></a>
<h3>STATUS_BRB</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'BRB'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>BRB<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="STATUS_BUSY"></a>
<h3>STATUS_BUSY</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'BSY'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>BSY<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="STATUS_HIDDEN"></a>
<h3>STATUS_HIDDEN</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'HDN'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>HDN<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="STATUS_IDLE"></a>
<h3>STATUS_IDLE</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'IDL'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>IDL<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="STATUS_LUNCH"></a>
<h3>STATUS_LUNCH</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'LUN'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>LUN<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="STATUS_OFFLINE"></a>
<h3>STATUS_OFFLINE</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'FLN'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>FLN<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="STATUS_ONLINE"></a>
<h3>STATUS_ONLINE</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'NLN'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>NLN<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="STATUS_PHONE"></a>
<h3>STATUS_PHONE</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'PHN'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>PHN<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="statusCodes"></a>
<h3>statusCodes</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>dict</code>

      </dd>
<span title="{'PHN': 'On the Phone', 'IDL': 'Idle', 'BSY': 'Busy', 'AWY': 'Away', 'FLN': 'Offline', 'HDN': 'Appear Offline', 'BRB': 'Be Right Back', 'LUN': 'Out to Lunch', 'NLN': 'Online'}">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
{'AWY': 'Away',
 'BRB': 'Be Right Back',
 'BSY': 'Busy',
 'FLN': 'Offline',
 'HDN': 'Appear Offline',
 'IDL': 'Idle',
 'LUN': 'Out to Lunch',
 'NLN': 'Online',
<span class="variable-ellipsis">...</span>                                                                    </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="WORK_PHONE"></a>
<h3>WORK_PHONE</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>str</code>

      </dd>
<span title="'PHW'">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
<span class="variable-quote">'</span>PHW<span class="variable-quote">'</span>                                                                  </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<br />


<!-- =========== START OF NAVBAR =========== -->
<table class="navbar" border="0" width="100%" cellpadding="0" bgcolor="#a0c0ff" cellspacing="0">
  <tr valign="center">
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="twisted.html">Home</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="trees.html">Trees</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="indices.html">Index</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar">&nbsp;&nbsp;&nbsp;<a class="navbar" href="help.html">Help</a>&nbsp;&nbsp;&nbsp;</th>
    <th class="navbar" align="right" width="100%">
      <table border="0" cellpadding="0" cellspacing="0">
      <tr><th class="navbar" align="center">
        <p class="nomargin">
          <a class="navbar" target="_top" href="http://twistedmatrix.com/">Twisted&nbsp;1.3.0rc1</a>
      </p></th></tr></table>
    </th>
  </tr>
</table>

<table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
    <td align="left"><font size="-2">Generated by Epydoc 2.0 on Sat May 15 20:07:44 2004</font></td>
    <td align="right"><a href="http://epydoc.sourceforge.net"
                      ><font size="-2">http://epydoc.sf.net</font></a></td>
  </tr>
</table>
</body>
</html>