twisted.cred.perspective.Perspective.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.cred.perspective.Perspective</title>
  <link rel="stylesheet" href="epydoc.css" type="text/css"></link>
</head>
<body bgcolor="white" text="black" link="blue" vlink="#204080"
      alink="#204080">

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

<!-- =========== START OF CLASS DESCRIPTION =========== -->
<h2 class="class">Class Perspective</h2>

<dl><dt><b>Known Subclasses:</b></dt>
<dd>
    <a href="twisted.protocols.imap4.MemoryAccount.html"><code>MemoryAccount</code></a>,
    <a href="twisted.spread.pb.Perspective.html"><code>Perspective</code></a></dd></dl>

<hr/>

<p>I am an Identity's view onto a service.</p>
I am the interface through which most 'external' code should interact 
with a service; I represent the actions a user may perform upon a 
service, and the state associated with that user for that service.
<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">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.cred.perspective.Perspective.html#__init__" class="summary-sig-name"><code>__init__</code></a>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>perspectiveName</span>,
          <span class=summary-sig-arg>identityName</span>)</span></code>
<br />
Create me.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.cred.perspective.Perspective.html#attached" class="summary-sig-name"><code>attached</code></a>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>reference</span>,
          <span class=summary-sig-arg>identity</span>)</span></code>
<br />
Called when a remote reference is 'attached' to me.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.cred.perspective.Perspective.html#detached" class="summary-sig-name"><code>detached</code></a>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>reference</span>,
          <span class=summary-sig-arg>identity</span>)</span></code>
<br />
Called when a broker is 'detached' from me.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.cred.perspective.Perspective.html#getIdentityRequest" class="summary-sig-name"><code>getIdentityRequest</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Request my identity.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.cred.perspective.Perspective.html#getPerspectiveName" class="summary-sig-name"><code>getPerspectiveName</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return the unique name of this perspective.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.cred.perspective.Perspective.html#getService" class="summary-sig-name"><code>getService</code></a>(<span class=summary-sig-arg>self</span>)</span></code>
<br />
Return a service.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="isCached"></a><span class="summary-sig"><span class="summary-sig-name">isCached</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.cred.perspective.Perspective.html#makeIdentity" class="summary-sig-name"><code>makeIdentity</code></a>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>password</span>)</span></code>
<br />
Make an identity from this perspective with a password.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="setCached"></a><span class="summary-sig"><span class="summary-sig-name">setCached</span>(<span class=summary-sig-arg>self</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.cred.perspective.Perspective.html#setIdentity" class="summary-sig-name"><code>setIdentity</code></a>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>ident</span>)</span></code>
<br />
Determine which identity I connect to.</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><a name="setIdentityName"></a><span class="summary-sig"><span class="summary-sig-name">setIdentityName</span>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>name</span>)</span></code>
</td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1">&nbsp;</font></td>
  <td><code><span class="summary-sig"><a href="twisted.cred.perspective.Perspective.html#setService" class="summary-sig-name"><code>setService</code></a>(<span class=summary-sig-arg>self</span>,
          <span class=summary-sig-arg>service</span>)</span></code>
<br />
Change what service I am a part of.</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>tuple</code></font></td>
<td><b><a href="twisted.cred.perspective.Perspective.html#__implements__"><code>__implements__</code></a></b> = <span title="(&lt;class twisted.cred.perspective.IPerspective at 0x85727dc&gt;,)"><code>(&lt;class&nbsp;twisted.cred.perspective.IPersp<span class="variable-ellipsis">...</span></code>
</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="twisted.cred.perspective.Perspective.html#_attachedCount"><code>_attachedCount</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
<tr><td align="right" valign="top" width="15%"><font size="-1"><code>int</code></font></td>
<td><b><a href="twisted.cred.perspective.Perspective.html#_service_cached"><code>_service_cached</code></a></b> = <span title="0">0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
</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="__init__"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">__init__</span>(<span class=sig-arg>self</span>,
          <span class=sig-arg>perspectiveName</span>,
          <span class=sig-arg>identityName</span>=<span class=sig-default>'Nobody'</span>)</span>
    <br /><i>(Constructor)</i>
  </h3>
  <p>Create me.</p>
  I require a name for myself and a reference to the service I 
  participate in. (My identity name will be 'Nobody' by default, which 
  will normally not resolve.)
  <dl><dt></dt><dd>
  </dd></dl>
</td></tr></table>

<a name="attached"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">attached</span>(<span class=sig-arg>self</span>,
          <span class=sig-arg>reference</span>,
          <span class=sig-arg>identity</span>)</span>
  </h3>
  <p>Called when a remote reference is 'attached' to me.</p>
  <p>After being authorized, a remote actor can attach to me through its 
  identity. This call will be made when that happens, and the return 
  value of this method will be used as the _actual_ perspective to which 
  I am attached.</p>
  Note that the symmetric call, detached, will be made on whatever 
  this method returns, _not_ on me. Therefore, by default I return 
  'self'.
  <dl><dt></dt><dd>
  </dd></dl>
</td></tr></table>

<a name="detached"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">detached</span>(<span class=sig-arg>self</span>,
          <span class=sig-arg>reference</span>,
          <span class=sig-arg>identity</span>)</span>
  </h3>
  <p>Called when a broker is 'detached' from me.</p>
  <p>See 'attached'.</p>
  When a remote actor disconnects (or times out, for example, with 
  HTTP), this is called in order to indicate that the reference 
  associated with that peer is no longer attached to this 
  perspective.
  <dl><dt></dt><dd>
  </dd></dl>
</td></tr></table>

<a name="getIdentityRequest"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">getIdentityRequest</span>(<span class=sig-arg>self</span>)</span>
  </h3>
  Request my identity.
  <dl><dt></dt><dd>
  </dd></dl>
</td></tr></table>

<a name="getPerspectiveName"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">getPerspectiveName</span>(<span class=sig-arg>self</span>)</span>
  </h3>
  <p>Return the unique name of this perspective.</p>
  <p>This will return a value such that 
  self.service.getPerspectiveNamed(value) is self.</p>
  (XXX: That's assuming I have been addPerspective'd to my 
  service.)
  <dl><dt></dt><dd>
  </dd></dl>
</td></tr></table>

<a name="getService"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">getService</span>(<span class=sig-arg>self</span>)</span>
  </h3>
  Return a service.
  <dl><dt></dt><dd>
  </dd></dl>
</td></tr></table>

<a name="makeIdentity"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">makeIdentity</span>(<span class=sig-arg>self</span>,
          <span class=sig-arg>password</span>)</span>
  </h3>
  <p>Make an identity from this perspective with a password.</p>
  This is a utility method, which can be used in circumstances where 
  the distinction between Perspective and Identity is weak, such as 
  single-Service servers.
  <dl><dt></dt><dd>
  </dd></dl>
</td></tr></table>

<a name="setIdentity"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">setIdentity</span>(<span class=sig-arg>self</span>,
          <span class=sig-arg>ident</span>)</span>
  </h3>
  Determine which identity I connect to.
  <dl><dt></dt><dd>
  </dd></dl>
</td></tr></table>

<a name="setService"></a>
<table width="100%" class="func-details" bgcolor="#e0e0e0"><tr><td>
  <h3><span class="sig"><span class="sig-name">setService</span>(<span class=sig-arg>self</span>,
          <span class=sig-arg>service</span>)</span>
  </h3>
  Change what service I am a part of.
  <dl><dt></dt><dd>
  </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="__implements__"></a>
<h3>__implements__</h3>
<dl>
  <dt></dt>
  <dd>
    <dl>
      <dt><b>Type:</b></dt>
      <dd>
          <code>tuple</code>

      </dd>
<span title="(&lt;class twisted.cred.perspective.IPerspective at 0x85727dc&gt;,)">      <dt><b>Value:</b></dt>
      <dd><table><tr><td>
<pre class="variable">
(&lt;class twisted.cred.perspective.IPerspective at 0x85727dc&gt;,)          </pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="_attachedCount"></a>
<h3>_attachedCount</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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<table width="100%" class="var-details" bgcolor="#e0e0e0"><tr><td>
<a name="_service_cached"></a>
<h3>_service_cached</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&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pre>
        </td></tr></table></dd>
</span>    </dl>
  </dd>
</dl></td></tr></table>
<br />


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

<table border="0" cellpadding="0" cellspacing="0" width="100%">
  <tr>
    <td align="left"><font size="-2">Generated by Epydoc 2.0 on Sat May 15 20:08:26 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>