twisted.protocols.msn.SwitchboardClient.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.SwitchboardClient</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 SwitchboardClient
</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.SwitchboardClient.html" target="_top">no frames</a>]</font></td></tr>
</table></td>
</tr></table>
<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class SwitchboardClient</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>SwitchboardClient</b>
</pre><br />
<hr/>
<p>This class provides support for clients connecting to a switchboard
server.</p>
<p>Switchboard servers are used for conversations with other people on
the MSN network. This means that the number of conversations at any given
time will be directly proportional to the number of connections to
varioius switchboard servers.</p>
MSN makes no distinction between single and group conversations, so
any number of users may be invited to join a specific conversation taking
place on a switchboard 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></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.SwitchboardClient.html#_checkFileInfo" class="summary-sig-name"><code>_checkFileInfo</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>message</span>,
<span class=summary-sig-arg>info</span>)</span></code>
<br />
helper method for checkMessage</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.SwitchboardClient.html#_checkFileInvitation" class="summary-sig-name"><code>_checkFileInvitation</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>message</span>,
<span class=summary-sig-arg>info</span>)</span></code>
<br />
helper method for checkMessage</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.SwitchboardClient.html#_checkFileResponse" class="summary-sig-name"><code>_checkFileResponse</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>message</span>,
<span class=summary-sig-arg>info</span>)</span></code>
<br />
helper method for checkMessage</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.SwitchboardClient.html#_checkTyping" class="summary-sig-name"><code>_checkTyping</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>message</span>,
<span class=summary-sig-arg>cTypes</span>)</span></code>
<br />
helper method for checkMessage</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="_newInvitationCookie"></a><span class="summary-sig"><span class="summary-sig-name">_newInvitationCookie</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><span class="summary-sig"><a href="twisted.protocols.msn.SwitchboardClient.html#_sendInit" class="summary-sig-name"><code>_sendInit</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
send initial data based on whether we are replying to an invitation or
starting one.</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.SwitchboardClient.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 for detecting any notification type messages (e.g.</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.SwitchboardClient.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.SwitchboardClient.html#fileInvitationReply" class="summary-sig-name"><code>fileInvitationReply</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>iCookie</span>,
<span class=summary-sig-arg>accept</span>)</span></code>
<br />
used to reply to a file transfer invitation.</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.SwitchboardClient.html#gotChattingUsers" class="summary-sig-name"><code>gotChattingUsers</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>users</span>)</span></code>
<br />
called after connecting to an existing chat session.</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.SwitchboardClient.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.</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.SwitchboardClient.html#gotSendRequest" class="summary-sig-name"><code>gotSendRequest</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>fileName</span>,
<span class=summary-sig-arg>fileSize</span>,
<span class=summary-sig-arg>iCookie</span>,
<span class=summary-sig-arg>message</span>)</span></code>
<br />
called when a contact is trying to send us a file.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"> </font></td>
<td><code><a name="handle_ACK"></a><span class="summary-sig"><span class="summary-sig-name">handle_ACK</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_ANS"></a><span class="summary-sig"><span class="summary-sig-name">handle_ANS</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_BYE"></a><span class="summary-sig"><span class="summary-sig-name">handle_BYE</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_CAL"></a><span class="summary-sig"><span class="summary-sig-name">handle_CAL</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_IRO"></a><span class="summary-sig"><span class="summary-sig-name">handle_IRO</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_JOI"></a><span class="summary-sig"><span class="summary-sig-name">handle_JOI</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_NAK"></a><span class="summary-sig"><span class="summary-sig-name">handle_NAK</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><span class="summary-sig"><a href="twisted.protocols.msn.SwitchboardClient.html#inviteUser" class="summary-sig-name"><code>inviteUser</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>userHandle</span>)</span></code>
<br />
used to invite a user to the current switchboard 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.SwitchboardClient.html#loggedIn" class="summary-sig-name"><code>loggedIn</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
called when all login details have been negotiated.</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.SwitchboardClient.html#sendFileInvitation" class="summary-sig-name"><code>sendFileInvitation</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>fileName</span>,
<span class=summary-sig-arg>fileSize</span>)</span></code>
<br />
send an notification that we want to send a file.</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.SwitchboardClient.html#sendMessage" class="summary-sig-name"><code>sendMessage</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>message</span>)</span></code>
<br />
used to send a message.</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.SwitchboardClient.html#sendTransferInfo" class="summary-sig-name"><code>sendTransferInfo</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>accept</span>,
<span class=summary-sig-arg>iCookie</span>,
<span class=summary-sig-arg>authCookie</span>,
<span class=summary-sig-arg>ip</span>,
<span class=summary-sig-arg>port</span>)</span></code>
<br />
send information relating to a file transfer session.</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.SwitchboardClient.html#sendTypingNotification" class="summary-sig-name"><code>sendTypingNotification</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
used to send a typing notification.</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.SwitchboardClient.html#userJoined" class="summary-sig-name"><code>userJoined</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>userHandle</span>,
<span class=summary-sig-arg>screenName</span>)</span></code>
<br />
called when a user has joined the conversation.</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.SwitchboardClient.html#userLeft" class="summary-sig-name"><code>userLeft</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>userHandle</span>)</span></code>
<br />
called when a user has left the conversation.</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.SwitchboardClient.html#userTyping" class="summary-sig-name"><code>userTyping</code></a>(<span class=summary-sig-arg>self</span>,
<span class=summary-sig-arg>message</span>)</span></code>
<br />
called when we receive the special type of message notifying us that a
user is typing a message.</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#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 INSTANCE VARIABLE SUMMARY =========== -->
<table class="summary" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="summary">
<th colspan="2">Instance 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.SwitchboardClient.html#key"><code>key</code></a></b>: authorization key, obtained when receiving invitation / requesting
switchboard server.</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.SwitchboardClient.html#reply"><code>reply</code></a></b>: set this to 1 in connectionMade or before to signifiy that you are
replying to a switchboard invitation.</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.SwitchboardClient.html#sessionID"><code>sessionID</code></a></b>: unique session ID, used if you are replying to a switchboard
invitation</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.SwitchboardClient.html#userHandle"><code>userHandle</code></a></b>: your user handle (passport)</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>int</code></font></td>
<td><b><a href="twisted.protocols.msn.SwitchboardClient.html#_iCookie"><code>_iCookie</code></a></b> = <span title="0">0 </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="_checkFileInfo"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_checkFileInfo</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>message</span>,
<span class=sig-arg>info</span>)</span>
</h3>
helper method for checkMessage
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_checkFileInvitation"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_checkFileInvitation</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>message</span>,
<span class=sig-arg>info</span>)</span>
</h3>
helper method for checkMessage
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_checkFileResponse"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_checkFileResponse</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>message</span>,
<span class=sig-arg>info</span>)</span>
</h3>
helper method for checkMessage
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_checkTyping"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_checkTyping</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>message</span>,
<span class=sig-arg>cTypes</span>)</span>
</h3>
helper method for checkMessage
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="_sendInit"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">_sendInit</span>(<span class=sig-arg>self</span>)</span>
</h3>
send initial data based on whether we are replying to an invitation
or starting one.
<dl><dt></dt><dd>
</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 for detecting any notification type messages (e.g. file
transfer)
<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="fileInvitationReply"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">fileInvitationReply</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>iCookie</span>,
<span class=sig-arg>accept</span>=<span class=sig-default>1</span>)</span>
</h3>
used to reply to a file transfer invitation.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>iCookie</b></code> -
the invitation cookie of the initial invitation
<dd><code><b>accept</b></code> -
whether or not you accept this transfer, 1 = yes, 0 = no,
default = 1.
</dd>
</dl>
<dl><dt><b>Returns:</b></dt>
<dd>
A Deferred, the callback for which will be fired when the user
responds with the transfer information. The callback argument
will be a tuple with 5 elements, whether or not they wish to
proceed with the transfer (1=yes, 0=no), their ip, the port, the
authentication cookie (see FileReceive/FileSend) and the message
info (dict) (in case they send extra header-like info like
Internal-IP, this doesn't necessarily need to be used). If you
wish to proceed with the transfer see FileReceive.
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="gotChattingUsers"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">gotChattingUsers</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>users</span>)</span>
</h3>
called after connecting to an existing chat session.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>users</b></code> -
A dict mapping user handles to screen names (current users
taking part in the conversation)
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="gotMessage"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">gotMessage</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>message</span>)</span>
</h3>
called when we receive a message.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>message</b></code> -
the associated MSNMessage object
</dd>
</dl>
<dl><dt><b>Overrides:</b></dt>
<dd><a href="twisted.protocols.msn.MSNEventBase.html#gotMessage"><code>twisted.protocols.msn.MSNEventBase.gotMessage</code></a></dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="gotSendRequest"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">gotSendRequest</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>fileName</span>,
<span class=sig-arg>fileSize</span>,
<span class=sig-arg>iCookie</span>,
<span class=sig-arg>message</span>)</span>
</h3>
called when a contact is trying to send us a file. To accept or
reject this transfer see the fileInvitationReply method.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>fileName</b></code> -
the name of the file
<dd><code><b>fileSize</b></code> -
the size of the file
<dd><code><b>iCookie</b></code> -
the invitation cookie, used so the client can match up your
reply with this request.
<dd><code><b>message</b></code> -
the MSNMessage object which brought about this invitation (it
may contain more information)
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="inviteUser"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">inviteUser</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>userHandle</span>)</span>
</h3>
used to invite a user to the current switchboard server.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>userHandle</b></code> -
the user handle (passport) of the desired user.
</dd>
</dl>
<dl><dt><b>Returns:</b></dt>
<dd>
A Deferred, the callback for which will be called when the
server notifies us that the user has indeed been invited. The
callback argument will be a tuple with 1 element, the sessionID
given to the invited user. I'm not sure if this is useful or
not.
</dd>
</dl>
</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>
</h3>
called when all login details have been negotiated. Messages can now
be sent, or new users invited.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="sendFileInvitation"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">sendFileInvitation</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>fileName</span>,
<span class=sig-arg>fileSize</span>)</span>
</h3>
send an notification that we want to send a file.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>fileName</b></code> -
the file name
<dd><code><b>fileSize</b></code> -
the file size
</dd>
</dl>
<dl><dt><b>Returns:</b></dt>
<dd>
A Deferred, the callback of which will be fired when the user
responds to this invitation with an appropriate message. The
callback argument will be a tuple with 3 elements, the first
being 1 or 0 depending on whether they accepted the transfer
(1=yes, 0=no), the second being an invitation cookie to identify
your follow-up responses and the third being the message 'info'
which is a dict of information they sent in their reply (this
doesn't really need to be used). If you wish to proceed with the
transfer see the sendTransferInfo method.
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="sendMessage"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">sendMessage</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>message</span>)</span>
</h3>
used to send a message.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>message</b></code> -
the corresponding MSNMessage object.
</dd>
</dl>
<dl><dt><b>Returns:</b></dt>
<dd>
Depending on the value of message.ack. If set to
MSNMessage.MESSAGE_ACK or MSNMessage.MESSAGE_NACK a Deferred will
be returned, the callback for which will be fired when an ACK or
NACK is received - the callback argument will be (None,). If set
to MSNMessage.MESSAGE_ACK_NONE then the return value is None.
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="sendTransferInfo"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">sendTransferInfo</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>accept</span>,
<span class=sig-arg>iCookie</span>,
<span class=sig-arg>authCookie</span>,
<span class=sig-arg>ip</span>,
<span class=sig-arg>port</span>)</span>
</h3>
send information relating to a file transfer session.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>accept</b></code> -
whether or not to go ahead with the transfer (1=yes, 0=no)
<dd><code><b>iCookie</b></code> -
the invitation cookie of previous replies relating to this
transfer
<dd><code><b>authCookie</b></code> -
the authentication cookie obtained from an FileSend
instance
<dd><code><b>ip</b></code> -
your ip
<dd><code><b>port</b></code> -
the port on which an FileSend protocol is listening.
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="sendTypingNotification"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">sendTypingNotification</span>(<span class=sig-arg>self</span>)</span>
</h3>
used to send a typing notification. Upon receiving this message the
official client will display a 'user is typing' message to all other
users in the chat session for 10 seconds. The official client sends one
of these every 5 seconds (I think) as long as you continue to type.
<dl><dt></dt><dd>
</dd></dl>
</td></tr></table>
<a name="userJoined"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">userJoined</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>userHandle</span>,
<span class=sig-arg>screenName</span>)</span>
</h3>
called when a user has joined the conversation.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>userHandle</b></code> -
the user handle (passport) of the user
<dd><code><b>screenName</b></code> -
the screen name of the user
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="userLeft"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">userLeft</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>userHandle</span>)</span>
</h3>
called when a user has left the conversation.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>userHandle</b></code> -
the user handle (passport) of the user.
</dd>
</dl>
</dd></dl>
</td></tr></table>
<a name="userTyping"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
<h3><span class="sig"><span class="sig-name">userTyping</span>(<span class=sig-arg>self</span>,
<span class=sig-arg>message</span>)</span>
</h3>
called when we receive the special type of message notifying us that
a user is typing a message.
<dl><dt></dt><dd>
<dl><dt><b>Parameters:</b></dt>
<dd><code><b>message</b></code> -
the associated MSNMessage object
</dd>
</dl>
</dd></dl>
</td></tr></table>
<br />
<!-- =========== START OF INSTANCE VARIABLE DETAILS =========== -->
<table class="details" border="1" cellpadding="3" cellspacing="0" width="100%" bgcolor="white">
<tr bgcolor="#70b0f0" class="details">
<th colspan="2">Instance Variable Details</th></tr>
</table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="key"></a>
<h3>key</h3>
authorization key, obtained when receiving invitation / requesting
switchboard server.
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>int</code>
</dd>
<span title="0"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
0 </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="reply"></a>
<h3>reply</h3>
set this to 1 in connectionMade or before to signifiy that you are
replying to a switchboard invitation.
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>int</code>
</dd>
<span title="0"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
0 </pre>
</td></tr></table></dd>
</span> </dl>
</dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="sessionID"></a>
<h3>sessionID</h3>
unique session ID, used if you are replying to a switchboard
invitation
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>str</code>
</dd>
<span title="''"> <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="userHandle"></a>
<h3>userHandle</h3>
your user handle (passport)
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>str</code>
</dd>
<span title="''"> <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>
<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="_iCookie"></a>
<h3>_iCookie</h3>
<dl>
<dt></dt>
<dd>
<dl>
<dt><b>Type:</b></dt>
<dd>
<code>int</code>
</dd>
<span title="0"> <dt><b>Value:</b></dt>
<dd><table><tr><td>
<pre class="variable">
0 </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:08:04 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>