twisted.protocols.msn.NotificationClient.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.NotificationClient</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"> <a class="navbar" href="twisted.html">Home</a> </th>
<th class="navbar"> <a class="navbar" href="trees.html">Trees</a> </th>
<th class="navbar"> <a class="navbar" href="indices.html">Index</a> </th>
<th class="navbar"> <a class="navbar" href="help.html">Help</a> </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 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 twisted</a> ::
<a href="twisted.protocols.html">Package protocols</a> ::
<a href="twisted.protocols.msn.html">Module msn</a> ::
Class NotificationClient
</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> | <a href="twisted.protocols.msn.NotificationClient.html" target="_top">no frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class NotificationClient</h2>
<pre class="base-tree">
<a href="twisted.internet.protocol.BaseProtocol.html"><code>BaseProtocol</code></a> --+
|
<a href="twisted.internet.protocol.Protocol.html"><code>Protocol</code></a> --+
|
<a href="twisted.protocols.basic.LineReceiver.html"><code>LineReceiver</code></a> --+
|
<a href="twisted.protocols.msn.MSNEventBase.html"><code>MSNEventBase</code></a> --+
|
<b>NotificationClient</b>
</pre><br />
<hr/>
This class provides support for clients connecting to the notification
server.
<hr/>
<!-- =========== START OF METHOD SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Method Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="__init__"></a><span class="summary-sig"><span class="summary-sig-name">__init__</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>currentID</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="_getState"></a><span class="summary-sig"><span class="summary-sig-name">_getState</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="_getStateData"></a><span class="summary-sig"><span class="summary-sig-name">_getStateData</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>key</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="_passportError"></a><span class="summary-sig"><span class="summary-sig-name">_passportError</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>failure</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="_passportLogin"></a><span class="summary-sig"><span class="summary-sig-name">_passportLogin</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>result</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="_remStateData"></a><span class="summary-sig"><span class="summary-sig-name">_remStateData</span>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-vararg">*args</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="_setState"></a><span class="summary-sig"><span class="summary-sig-name">_setState</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>state</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="_setStateData"></a><span class="summary-sig"><span class="summary-sig-name">_setStateData</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>key</span>,
<span class=summary-sig-arg>value</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#addContact" class="summary-sig-name"><code>addContact</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>listType</span>,
<span class=summary-sig-arg>userHandle</span>,
<span class=summary-sig-arg>groupID</span>)</span></code>
<br />
Used to add a contact to the desired list.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#addListGroup" class="summary-sig-name"><code>addListGroup</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>name</span>)</span></code>
<br />
Used to create a new list group.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#changeScreenName" class="summary-sig-name"><code>changeScreenName</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>newName</span>)</span></code>
<br />
Used to change your current screen name.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#changeStatus" class="summary-sig-name"><code>changeStatus</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>status</span>)</span></code>
<br />
Change my current status.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#checkMessage" class="summary-sig-name"><code>checkMessage</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>message</span>)</span></code>
<br />
hook used for detecting specific notification messages</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="connectionLost"></a><span class="summary-sig"><span class="summary-sig-name">connectionLost</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>reason</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#connectionMade" class="summary-sig-name"><code>connectionMade</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Called when a connection is made.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#contactOffline" class="summary-sig-name"><code>contactOffline</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>userHandle</span>)</span></code>
<br />
Called when a contact goes offline.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#contactStatusChanged" class="summary-sig-name"><code>contactStatusChanged</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>statusCode</span>,
<span class=summary-sig-arg>userHandle</span>,
<span class=summary-sig-arg>screenName</span>)</span></code>
<br />
Called when we're notified that a contact's status has changed.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#gotContactStatus" class="summary-sig-name"><code>gotContactStatus</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>statusCode</span>,
<span class=summary-sig-arg>userHandle</span>,
<span class=summary-sig-arg>screenName</span>)</span></code>
<br />
Called after loggin in when the server sends status of online
contacts.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#gotPhoneNumber" class="summary-sig-name"><code>gotPhoneNumber</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>listVersion</span>,
<span class=summary-sig-arg>userHandle</span>,
<span class=summary-sig-arg>phoneType</span>,
<span class=summary-sig-arg>number</span>)</span></code>
<br />
Called when the server sends us phone details about a specific user
(for example after a user is added the server will send their status,
phone details etc.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#gotProfile" class="summary-sig-name"><code>gotProfile</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>message</span>)</span></code>
<br />
Called after logging in when the server sends an initial message with
MSN/passport specific profile information such as country, number of
kids, etc.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#gotSwitchboardInvitation" class="summary-sig-name"><code>gotSwitchboardInvitation</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>sessionID</span>,
<span class=summary-sig-arg>host</span>,
<span class=summary-sig-arg>port</span>,
<span class=summary-sig-arg>key</span>,
<span class=summary-sig-arg>userHandle</span>,
<span class=summary-sig-arg>screenName</span>)</span></code>
<br />
Called when we get an invitation to a switchboard server.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="handle_ADD"></a><span class="summary-sig"><span class="summary-sig-name">handle_ADD</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>params</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="handle_ADG"></a><span class="summary-sig"><span class="summary-sig-name">handle_ADG</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>params</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="handle_BLP"></a><span class="summary-sig"><span class="summary-sig-name">handle_BLP</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>params</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="handle_BPR"></a><span class="summary-sig"><span class="summary-sig-name">handle_BPR</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>params</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="handle_CHG"></a><span class="summary-sig"><span class="summary-sig-name">handle_CHG</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>params</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="handle_CHL"></a><span class="summary-sig"><span class="summary-sig-name">handle_CHL</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>params</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="handle_CVR"></a><span class="summary-sig"><span class="summary-sig-name">handle_CVR</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>params</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="handle_FLN"></a><span class="summary-sig"><span class="summary-sig-name">handle_FLN</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>params</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="handle_GTC"></a><span class="summary-sig"><span class="summary-sig-name">handle_GTC</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>params</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="handle_ILN"></a><span class="summary-sig"><span class="summary-sig-name">handle_ILN</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>params</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="handle_LSG"></a><span class="summary-sig"><span class="summary-sig-name">handle_LSG</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>params</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="handle_LST"></a><span class="summary-sig"><span class="summary-sig-name">handle_LST</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>params</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="handle_NLN"></a><span class="summary-sig"><span class="summary-sig-name">handle_NLN</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>params</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="handle_OUT"></a><span class="summary-sig"><span class="summary-sig-name">handle_OUT</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>params</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="handle_PRP"></a><span class="summary-sig"><span class="summary-sig-name">handle_PRP</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>params</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="handle_QRY"></a><span class="summary-sig"><span class="summary-sig-name">handle_QRY</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>params</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="handle_REA"></a><span class="summary-sig"><span class="summary-sig-name">handle_REA</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>params</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="handle_REG"></a><span class="summary-sig"><span class="summary-sig-name">handle_REG</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>params</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="handle_REM"></a><span class="summary-sig"><span class="summary-sig-name">handle_REM</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>params</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="handle_RMG"></a><span class="summary-sig"><span class="summary-sig-name">handle_RMG</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>params</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="handle_RNG"></a><span class="summary-sig"><span class="summary-sig-name">handle_RNG</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>params</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="handle_SYN"></a><span class="summary-sig"><span class="summary-sig-name">handle_SYN</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>params</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="handle_USR"></a><span class="summary-sig"><span class="summary-sig-name">handle_USR</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>params</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="handle_VER"></a><span class="summary-sig"><span class="summary-sig-name">handle_VER</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>params</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="handle_XFR"></a><span class="summary-sig"><span class="summary-sig-name">handle_XFR</span>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>params</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#listSynchronized" class="summary-sig-name"><code>listSynchronized</code></a>(<span class=summary-sig-arg>self</span>,
<span class="summary-sig-vararg">*args</span>)</span></code>
<br />
Lists are now synchronized by default upon logging in, this method is
called after the synchronization has finished and the factory now has the
up-to-date contacts.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#loggedIn" class="summary-sig-name"><code>loggedIn</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>userHandle</span>,
<span class=summary-sig-arg>screenName</span>,
<span class=summary-sig-arg>verified</span>)</span></code>
<br />
Called when the client has logged in.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#loginFailure" class="summary-sig-name"><code>loginFailure</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>message</span>)</span></code>
<br />
Called when the client fails to login.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#logOut" class="summary-sig-name"><code>logOut</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Used to log out of the notification server.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#multipleLogin" class="summary-sig-name"><code>multipleLogin</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Called when the server says there has been another login under our
account, the server should disconnect us right away.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#remContact" class="summary-sig-name"><code>remContact</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>listType</span>,
<span class=summary-sig-arg>userHandle</span>,
<span class=summary-sig-arg>groupID</span>)</span></code>
<br />
Used to remove a contact from the desired list.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#remListGroup" class="summary-sig-name"><code>remListGroup</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>groupID</span>)</span></code>
<br />
Used to remove a list group.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#renameListGroup" class="summary-sig-name"><code>renameListGroup</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>groupID</span>,
<span class=summary-sig-arg>newName</span>)</span></code>
<br />
Used to rename an existing list group.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#requestSwitchboardServer" class="summary-sig-name"><code>requestSwitchboardServer</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Used to request a switchboard server to use for conversations.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#serverGoingDown" class="summary-sig-name"><code>serverGoingDown</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Called when the server has notified us that it is going down for
maintenance.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#setPhoneDetails" class="summary-sig-name"><code>setPhoneDetails</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>phoneType</span>,
<span class=summary-sig-arg>value</span>)</span></code>
<br />
Set/change my phone numbers stored on the server.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#setPrivacyMode" class="summary-sig-name"><code>setPrivacyMode</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>privLevel</span>)</span></code>
<br />
Set my privacy mode on the server.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#statusChanged" class="summary-sig-name"><code>statusChanged</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>statusCode</span>)</span></code>
<br />
Called when our status changes and it isn't in response to a client
command.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#syncList" class="summary-sig-name"><code>syncList</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>version</span>)</span></code>
<br />
Used for keeping an up-to-date contact list.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#userAddedMe" class="summary-sig-name"><code>userAddedMe</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>userHandle</span>,
<span class=summary-sig-arg>screenName</span>,
<span class=summary-sig-arg>listVersion</span>)</span></code>
<br />
Called when a user adds me to their list.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.NotificationClient.html#userRemovedMe" class="summary-sig-name"><code>userRemovedMe</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>userHandle</span>,
<span class=summary-sig-arg>listVersion</span>)</span></code>
<br />
Called when a user removes us from their contact list (they are no
longer on our reverseContacts list.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2"> Inherited from MSNEventBase</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.MSNEventBase.html#_createIDMapping" class="summary-sig-name"><code>_createIDMapping</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>data</span>)</span></code>
<br />
return a unique transaction ID that is mapped internally to a deferred
..</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.MSNEventBase.html#_fireCallback" class="summary-sig-name"><code>_fireCallback</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>id</span>,
<span class="summary-sig-vararg">*args</span>)</span></code>
<br />
Fire the callback for the given id if one exists and return 1, else
return false</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.MSNEventBase.html#_nextTransactionID" class="summary-sig-name"><code>_nextTransactionID</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
return a usable transaction ID</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.MSNEventBase.html#gotBadLine" class="summary-sig-name"><code>gotBadLine</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>line</span>,
<span class=summary-sig-arg>why</span>)</span></code>
<br />
called when a handler notifies me that this line is broken</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.MSNEventBase.html#gotError" class="summary-sig-name"><code>gotError</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>errorCode</span>)</span></code>
<br />
called when the server sends an error which is not in response to a
sent command (ie.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.MSNEventBase.html#gotMessage" class="summary-sig-name"><code>gotMessage</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>message</span>)</span></code>
<br />
called when we receive a message - override in notification and
switchboard clients</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.MSNEventBase.html#handle_MSG" class="summary-sig-name"><code>handle_MSG</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>params</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.MSNEventBase.html#handle_UNKNOWN" class="summary-sig-name"><code>handle_UNKNOWN</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>cmd</span>,
<span class=summary-sig-arg>params</span>)</span></code>
<br />
implement me in subclasses if you want to handle unknown events</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.MSNEventBase.html#lineReceived" class="summary-sig-name"><code>lineReceived</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>line</span>)</span></code>
<br />
Override this for when each line is received.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.msn.MSNEventBase.html#rawDataReceived" class="summary-sig-name"><code>rawDataReceived</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>data</span>)</span></code>
<br />
Override this for when raw data is received.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2"> Inherited from LineReceiver</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.basic.LineReceiver.html#clearLineBuffer" class="summary-sig-name"><code>clearLineBuffer</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Clear buffered data.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.basic.LineReceiver.html#dataReceived" class="summary-sig-name"><code>dataReceived</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>data</span>)</span></code>
<br />
Protocol.dataReceived.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.basic.LineReceiver.html#lineLengthExceeded" class="summary-sig-name"><code>lineLengthExceeded</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>line</span>)</span></code>
<br />
Called when the maximum line length has been reached.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.basic.LineReceiver.html#sendLine" class="summary-sig-name"><code>sendLine</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>line</span>)</span></code>
<br />
Sends a line to the other end of the connection.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.basic.LineReceiver.html#setLineMode" class="summary-sig-name"><code>setLineMode</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>extra</span>)</span></code>
<br />
Sets the line-mode of this receiver.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.protocols.basic.LineReceiver.html#setRawMode" class="summary-sig-name"><code>setRawMode</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Sets the raw mode of this receiver.</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2"> Inherited from Protocol</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.internet.protocol.Protocol.html#connectionFailed" class="summary-sig-name"><code>connectionFailed</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
(Deprecated)</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2"> Inherited from BaseProtocol</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><span class="summary-sig"><a href="twisted.internet.protocol.BaseProtocol.html#makeConnection" class="summary-sig-name"><code>makeConnection</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>transport</span>)</span></code>
<br />
Make a connection to a transport and a server.</td></tr>
</table><br />
<!-- =========== START OF CLASS VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Class Variable Summary</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>NoneType</code></font></td>
<td><b><a href="twisted.protocols.msn.NotificationClient.html#factory"><code>factory</code></a></b> = <span title="None">None </span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2"> Inherited from LineReceiver</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>str</code></font></td>
<td><b><a href="twisted.protocols.basic.LineReceiver.html#__buffer"><code>_LineReceiver__buffer</code></a></b> = <span title="''"><code><span class="variable-quote">'</span><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.basic.LineReceiver.html#delimiter"><code>delimiter</code></a></b>: The line-ending delimiter to use.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="twisted.protocols.basic.LineReceiver.html#line_mode"><code>line_mode</code></a></b> = <span title="1">1 </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.basic.LineReceiver.html#MAX_LENGTH"><code>MAX_LENGTH</code></a></b>: The maximum length of a line to allow (If a sent line is longer than
this, the connection is dropped).</td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2"> Inherited from Protocol</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>tuple</code></font></td>
<td><b><a href="twisted.internet.protocol.Protocol.html#__implements__"><code>__implements__</code></a></b> = <span title="(<class twisted.internet.interfaces.IProtocol at 0x8278f0c>,)"><code>(<class twisted.internet.interfaces.IPr<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr bgcolor="#e8f0f8" class="group">
<th colspan="2"> Inherited from BaseProtocol</th></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="twisted.internet.protocol.BaseProtocol.html#connected"><code>connected</code></a></b> = <span title="0">0 </span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>NoneType</code></font></td>
<td><b><a href="twisted.internet.protocol.BaseProtocol.html#transport"><code>transport</code></a></b> = <span title="None">None </span></td></tr>
</table><br />
<!-- =========== START OF METHOD DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Method Details</th></tr>
</table>
<a name="addContact"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">addContact</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>listType</span>,
<span class=sig-arg>userHandle</span>,
<span class=sig-arg>groupID</span>=<span class=sig-default>0</span>)</span>
</h3>
Used to add a contact to the desired list. A default callback is
added to the returned Deferred which updates the contacts attribute of
the factory with the new contact information. If you are adding a
contact to the forward list and you want to associate this contact with
multiple groups then you will need to call this method for each group
you would like to add them to, changing the groupID parameter. The
default callback will take care of updating the group information on
the factory's contact list.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>listType</b></code> -
(as defined by the *_LIST constants)
<dd><code><b>userHandle</b></code> -
the user handle (passport) of the contact that is being
added
<dd><code><b>groupID</b></code> -
the group ID for which to associate this contact with.
(default 0 - default group). Groups are only valid for
FORWARD_LIST.
</dd>
</dl>
<dl><dt><b>Returns:</b></dt>
<dd>
A Deferred, the callback for which will be called when the
server has clarified that the user has been added. The callback
argument will be a tuple with 4 elements: the list type, the
contact's user handle, the new list version, and the group id (if
relevant, otherwise it will be None)
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="addListGroup"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">addListGroup</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>name</span>)</span>
</h3>
Used to create a new list group. A default callback is added to the
returned Deferred which updates the contacts attribute of the
factory.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>name</b></code> -
The desired name of the new group.
</dd>
</dl>
<dl><dt><b>Returns:</b></dt>
<dd>
A Deferred, the callbacck for which will be called when the
server clarifies that the new group has been created. The
callback argument will be a tuple with 3 elements: the new list
version (int), the new group name (str) and the new group ID
(int).
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="changeScreenName"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">changeScreenName</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>newName</span>)</span>
</h3>
Used to change your current screen name. A default callback is added
to the returned Deferred which updates the screenName attribute of the
factory and also updates the contact list version.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>newName</b></code> -
the new screen name
</dd>
</dl>
<dl><dt><b>Returns:</b></dt>
<dd>
A Deferred, the callback for which will be called when the
server sends an adequate reply. The callback argument will be a
tuple of 2 elements: the new list version and the new screen
name.
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="changeStatus"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">changeStatus</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>status</span>)</span>
</h3>
Change my current status. This method will add a default callback to
the returned Deferred which will update the status attribute of the
factory.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>status</b></code> -
3-letter status code (as defined by the STATUS_*
constants)
</dd>
</dl>
<dl><dt><b>Returns:</b></dt>
<dd>
A Deferred, the callback of which will be fired when the
server confirms the change of status. The callback argument will
be a tuple with the new status code as the only element.
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="checkMessage"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">checkMessage</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>message</span>)</span>
</h3>
hook used for detecting specific notification messages
<dl><dt></dt><dd>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="twisted.protocols.msn.MSNEventBase.html#checkMessage"><code>twisted.protocols.msn.MSNEventBase.checkMessage</code></a></dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="connectionMade"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">connectionMade</span>(<span class=sig-arg>self</span>)</span>
</h3>
<p>Called when a connection is made.</p>
This may be considered the initializer of the protocol, because it
is called when the connection is completed. For clients, this is called
once the connection to the server has been established; for servers,
this is called after an accept() call stops blocking and a socket has
been received. If you need to send any greeting or initial message, do
it here.
<dl><dt></dt><dd>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="twisted.protocols.msn.MSNEventBase.html#connectionMade"><code>twisted.protocols.msn.MSNEventBase.connectionMade</code></a> <i>(inherited documentation)</i>
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="contactOffline"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">contactOffline</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>userHandle</span>)</span>
</h3>
Called when a contact goes offline. By default this method will
update the status attribute of the contact stored on the factory.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>userHandle</b></code> -
the contact's user handle
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="contactStatusChanged"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">contactStatusChanged</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>statusCode</span>,
<span class=sig-arg>userHandle</span>,
<span class=sig-arg>screenName</span>)</span>
</h3>
Called when we're notified that a contact's status has changed. By
default we will update the status attribute of the contact stored on
the factory.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>statusCode</b></code> -
3-letter status code
<dd><code><b>userHandle</b></code> -
the contact's user handle (passport)
<dd><code><b>screenName</b></code> -
the contact's screen name
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="gotContactStatus"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">gotContactStatus</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>statusCode</span>,
<span class=sig-arg>userHandle</span>,
<span class=sig-arg>screenName</span>)</span>
</h3>
Called after loggin in when the server sends status of online
contacts. By default we will update the status attribute of the contact
stored on the factory.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>statusCode</b></code> -
3-letter status code
<dd><code><b>userHandle</b></code> -
the contact's user handle (passport)
<dd><code><b>screenName</b></code> -
the contact's screen name
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="gotPhoneNumber"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">gotPhoneNumber</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>listVersion</span>,
<span class=sig-arg>userHandle</span>,
<span class=sig-arg>phoneType</span>,
<span class=sig-arg>number</span>)</span>
</h3>
Called when the server sends us phone details about a specific user
(for example after a user is added the server will send their status,
phone details etc. By default we will update the list version for the
factory's contact list and update the phone details for the specific
user.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>listVersion</b></code> -
the new list version
<dd><code><b>userHandle</b></code> -
the contact's user handle (passport)
<dd><code><b>phoneType</b></code> -
the specific phoneType (*_PHONE constants or HAS_PAGER)
<dd><code><b>number</b></code> -
the value/phone number.
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="gotProfile"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">gotProfile</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>message</span>)</span>
</h3>
Called after logging in when the server sends an initial message
with MSN/passport specific profile information such as country, number
of kids, etc. Check the message headers for the specific values.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>message</b></code> -
The profile message
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="gotSwitchboardInvitation"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">gotSwitchboardInvitation</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>sessionID</span>,
<span class=sig-arg>host</span>,
<span class=sig-arg>port</span>,
<span class=sig-arg>key</span>,
<span class=sig-arg>userHandle</span>,
<span class=sig-arg>screenName</span>)</span>
</h3>
Called when we get an invitation to a switchboard server. This
happens when a user requests a chat session with us.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>sessionID</b></code> -
session ID number, must be remembered for logging in
<dd><code><b>host</b></code> -
the hostname of the switchboard server
<dd><code><b>port</b></code> -
the port to connect to
<dd><code><b>key</b></code> -
used for authorization when connecting
<dd><code><b>userHandle</b></code> -
the user handle of the person who invited us
<dd><code><b>screenName</b></code> -
the screen name of the person who invited us
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="listSynchronized"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">listSynchronized</span>(<span class=sig-arg>self</span>,
<span class="sig-vararg">*args</span>)</span>
</h3>
Lists are now synchronized by default upon logging in, this method
is called after the synchronization has finished and the factory now
has the up-to-date contacts.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="loggedIn"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">loggedIn</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>userHandle</span>,
<span class=sig-arg>screenName</span>,
<span class=sig-arg>verified</span>)</span>
</h3>
Called when the client has logged in. The default behaviour of this
method is to update the factory with our screenName and to sync the
contact list (factory.contacts). When this is complete
self.listSynchronized will be called.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>userHandle</b></code> -
our userHandle
<dd><code><b>screenName</b></code> -
our screenName
<dd><code><b>verified</b></code> -
1 if our passport has been (verified), 0 if not. (i'm not sure
of the significace of this)
<br /><i>
(type=int)</i>
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="loginFailure"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">loginFailure</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>message</span>)</span>
</h3>
Called when the client fails to login.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>message</b></code> -
a message indicating the problem that was encountered
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="logOut"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">logOut</span>(<span class=sig-arg>self</span>)</span>
</h3>
Used to log out of the notification server. After running the method
the server is expected to close the connection.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="multipleLogin"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">multipleLogin</span>(<span class=sig-arg>self</span>)</span>
</h3>
Called when the server says there has been another login under our
account, the server should disconnect us right away.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="remContact"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">remContact</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>listType</span>,
<span class=sig-arg>userHandle</span>,
<span class=sig-arg>groupID</span>=<span class=sig-default>0</span>)</span>
</h3>
Used to remove a contact from the desired list. A default callback
is added to the returned deferred which updates the contacts attribute
of the factory to reflect the new contact information. If you are
removing from the forward list then you will need to supply a groupID,
if the contact is in more than one group then they will only be removed
from this group and not the entire forward list, but if this is their
only group they will be removed from the whole list.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>listType</b></code> -
(as defined by the *_LIST constants)
<dd><code><b>userHandle</b></code> -
the user handle (passport) of the contact being removed
<dd><code><b>groupID</b></code> -
the ID of the group to which this contact belongs (only
relevant for FORWARD_LIST, default is 0)
</dd>
</dl>
<dl><dt><b>Returns:</b></dt>
<dd>
A Deferred, the callback for which will be called when the
server has clarified that the user has been removed. The callback
argument will be a tuple of 4 elements: the list type, the
contact's user handle, the new list version, and the group id (if
relevant, otherwise it will be None)
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="remListGroup"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">remListGroup</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>groupID</span>)</span>
</h3>
Used to remove a list group. A default callback is added to the
returned Deferred which updates the contacts attribute of the
factory.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>groupID</b></code> -
the ID of the desired group to be removed.
</dd>
</dl>
<dl><dt><b>Returns:</b></dt>
<dd>
A Deferred, the callback for which will be called when the
server clarifies the deletion of the group. The callback argument
will be a tuple with 2 elements: the new list version (int) and
the group ID (int) of the removed group.
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="renameListGroup"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">renameListGroup</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>groupID</span>,
<span class=sig-arg>newName</span>)</span>
</h3>
Used to rename an existing list group. A default callback is added
to the returned Deferred which updates the contacts attribute of the
factory.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>groupID</b></code> -
the ID of the desired group to rename.
<dd><code><b>newName</b></code> -
the desired new name for the group.
</dd>
</dl>
<dl><dt><b>Returns:</b></dt>
<dd>
A Deferred, the callback for which will be called when the
server clarifies the renaming. The callback argument will be a
tuple of 3 elements, the new list version (int), the group id
(int) and the new group name (str).
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="requestSwitchboardServer"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">requestSwitchboardServer</span>(<span class=sig-arg>self</span>)</span>
</h3>
Used to request a switchboard server to use for conversations.
<dl><dt></dt><dd>
<dl><dt><b>Returns:</b></dt>
<dd>
A Deferred, the callback for which will be called when the
server responds with the switchboard information. The callback
argument will be a tuple with 3 elements: the host of the
switchboard server, the port and a key used for logging in.
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="serverGoingDown"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">serverGoingDown</span>(<span class=sig-arg>self</span>)</span>
</h3>
Called when the server has notified us that it is going down for
maintenance.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="setPhoneDetails"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">setPhoneDetails</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>phoneType</span>,
<span class=sig-arg>value</span>)</span>
</h3>
Set/change my phone numbers stored on the server.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>phoneType</b></code> -
phoneType can be one of the following constants - HOME_PHONE,
WORK_PHONE, MOBILE_PHONE, HAS_PAGER. These are pretty
self-explanatory, except maybe HAS_PAGER which refers to whether
or not you have a pager.
<dd><code><b>value</b></code> -
for all of the *_PHONE constants the value is a phone number
(str), for HAS_PAGER accepted values are 'Y' (for yes) and 'N'
(for no).
</dd>
</dl>
<dl><dt><b>Returns:</b></dt>
<dd>
A Deferred, the callback for which will be fired when the
server confirms the change has been made. The callback argument
will be a tuple with 2 elements, the first being the new list
version (int) and the second being the new phone number value
(str).
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="setPrivacyMode"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">setPrivacyMode</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>privLevel</span>)</span>
</h3>
<p>Set my privacy mode on the server.</p>
<b>Note</b>: This only keeps the current privacy setting on the
server for later retrieval, it does not effect the way the server works
at all.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>privLevel</b></code> -
This parameter can be true, in which case the server will keep
the state as 'al' which the official client interprets as ->
allow messages from only users on the allow list. Alternatively
it can be false, in which case the server will keep the state as
'bl' which the official client interprets as -> allow messages
from all users except those on the block list.
</dd>
</dl>
<dl><dt><b>Returns:</b></dt>
<dd>
A Deferred, the callback of which will be fired when the
server replies with the new privacy setting. The callback
argument will be a tuple, the 2 elements of which being the list
version and either 'al' or 'bl' (the new privacy setting).
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="statusChanged"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">statusChanged</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>statusCode</span>)</span>
</h3>
Called when our status changes and it isn't in response to a client
command. By default we will update the status attribute of the
factory.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>statusCode</b></code> -
3-letter status code
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="syncList"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">syncList</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>version</span>)</span>
</h3>
<p>Used for keeping an up-to-date contact list. A callback is added to
the returned Deferred that updates the contact list on the factory and
also sets my state to STATUS_ONLINE.</p>
<b>Note</b>: This is called automatically upon signing in using the
version attribute of factory.contacts, so you may want to persist this
object accordingly. Because of this there is no real need to ever call
this method directly.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>version</b></code> -
The current known list version
</dd>
</dl>
<dl><dt><b>Returns:</b></dt>
<dd>
A Deferred, the callback of which will be fired when the
server sends an adequate reply. The callback argument will be a
tuple with two elements, the new list (MSNContactList) and your
current state (a dictionary). If the version you sent _was_ the
latest list version, both elements will be None. To just request
the list send a version of 0.
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="userAddedMe"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">userAddedMe</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>userHandle</span>,
<span class=sig-arg>screenName</span>,
<span class=sig-arg>listVersion</span>)</span>
</h3>
Called when a user adds me to their list. (ie. they have been added
to the reverse list. By default this method will update the version of
the factory's contact list -- that is, if the contact already exists it
will update the associated lists attribute, otherwise it will create a
new MSNContact object and store it.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>userHandle</b></code> -
the userHandle of the user
<dd><code><b>screenName</b></code> -
the screen name of the user
<dd><code><b>listVersion</b></code> -
the new list version
<br /><i>
(type=int)</i>
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="userRemovedMe"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">userRemovedMe</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>userHandle</span>,
<span class=sig-arg>listVersion</span>)</span>
</h3>
Called when a user removes us from their contact list (they are no
longer on our reverseContacts list. By default this method will update
the version of the factory's contact list -- that is, the user will be
removed from the reverse list and if they are no longer part of any
lists they will be removed from the contact list entirely.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>userHandle</b></code> -
the contact's user handle (passport)
<dd><code><b>listVersion</b></code> -
the new list version
</dd>
</dl>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF CLASS VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Class Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="factory"></a>
<h3>factory</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>NoneType</code>
</dd>
<span title="None"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
None </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"> <a class="navbar" href="twisted.html">Home</a> </th>
<th class="navbar"> <a class="navbar" href="trees.html">Trees</a> </th>
<th class="navbar"> <a class="navbar" href="indices.html">Index</a> </th>
<th class="navbar"> <a class="navbar" href="help.html">Help</a> </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 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:54 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>