1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180
|
<html><head><title>File too/Proxy</title></head>
<body BGCOLOR="#ffffff" TEXT="#000000" LINK="#000000" VLINK="#000000">
<h1>File too/Proxy</h1>
<hr><h2>class <a href="../tom/index.html">tom</a>.<a href="../tom/State.html#State">State</a> (Proxy)</h2>
This extension of <b><code><a href="../tom/index.html">tom</a>.<a href="../tom/State.html#State">State</a></b></code> only provides the <code>isProxy</code> method, which
allows one to discern between proxy and non-proxy objects.
<h2>instance <a href="../tom/index.html">tom</a>.<a href="../tom/State.html#State">State</a> (Proxy)</h2>
<h3>methods</h3>
<dl><dt><b><pre>boolean
isProxy;
</pre></b><dd>
Undocumented.
<p><dt><b><pre><a href="../tom/index.html">tom</a>.<a href="../tom/State.html#State">State</a>
replacementForPortCoder <a href="PortEncoder.html#PortEncoder">PortEncoder</a> coder;
</pre></b><dd>
Return the object to be encoded by the <code>coder</code> instead of the
receiving object. This method is repeatedly invoked until an object
returns <code>self</code>. The default implementation retrieves a proxy from the
<code>coder</code>'s <code>connection</code>.
<p></dl><hr><h2>class <a href="index.html">too</a>.<a name="Proxy" href="#i_Proxy">Proxy</a></h2>
<h3>Inherits</h3>
<dl>
<dt>State supers
<dd><a href="../tom/index.html">tom</a>.<a href="../tom/State.html#State">State</a>
</dl>
<h2>instance <a href="index.html">too</a>.<a name="i_Proxy" href="#Proxy">Proxy</a></h2>
<h3>variables</h3>
<dl>
<dt><b><code>
<a href="Connection.html#Connection">Connection</a> connection;</code></b>
<dd>The <b><code><a href="Connection.html#Connection">Connection</a></b></code> to which we belong.
<dt><b><code>
int identity;</code></b>
<dd>Our identity with our <code>connection</code>.
</dl>
<h3>methods</h3>
<dl><dt><b><pre>id
initWithConnection <a href="Connection.html#Connection">Connection</a> c
identity int ident;
</pre></b><dd>
Undocumented.
<p><dt><b><pre><a href="Connection.html#Connection">Connection</a>
proxy_connection;
</pre></b><dd>
Undocumented.
<p><dt><b><pre>int
proxy_identity;
</pre></b><dd>
Undocumented.
<p><dt><b><pre><a href="../tom/index.html">tom</a>.<a href="../tom/State.html#State">State</a>
replacementForPortCoder <a href="PortEncoder.html#PortEncoder">PortEncoder</a> coder;
</pre></b><dd>
Return <code>self</code>, since we know how to be sent over the wire.
<p><dt><b><pre>void
encodeUsingCoder <a href="../tom/index.html">tom</a>.<a href="../tom/coding.html#Encoder">Encoder</a> coder;
</pre></b><dd>
Have the <code>coder</code> encode us as a proxy; otherwise fail (which is the
case when archiving instead of wiring).
<p></dl><hr><h2>class <a href="index.html">too</a>.<a name="LocalProxy" href="#i_LocalProxy">LocalProxy</a></h2>
<h3>Inherits</h3>
<dl>
<dt>State supers
<dd><a href="Proxy.html#Proxy">Proxy</a>
</dl>
<h2>instance <a href="index.html">too</a>.<a name="i_LocalProxy" href="#LocalProxy">LocalProxy</a></h2>
<h3>variables</h3>
<dl>
<dt><b><code>
public <a href="../../too/_builtin_/index.html">_builtin_</a>.<a href="../../too/_builtin_/_builtin_.html#Any">Any</a> original;</code></b>
<dd>The object for which we stand.
</dl>
<h3>methods</h3>
<dl><dt><b><pre>id
initWithConnection <a href="Connection.html#Connection">Connection</a> c
identity int i
for <a href="../tom/index.html">tom</a>.<a href="../tom/All.html#All">All</a> object;
</pre></b><dd>
Designated initializer.
<p></dl><hr><h2>class <a href="index.html">too</a>.<a name="RemoteProxy" href="#i_RemoteProxy">RemoteProxy</a></h2>
<h3>Inherits</h3>
<dl>
<dt>State supers
<dd><a href="Proxy.html#Proxy">Proxy</a>
</dl>
<h2>instance <a href="index.html">too</a>.<a name="i_RemoteProxy" href="#RemoteProxy">RemoteProxy</a></h2>
<h3>variables</h3>
<dl>
<dt><b><code>
redeclare <a href="Connection.html#ConnectedConnection">ConnectedConnection</a> connection;</code></b>
<dd>Our <code>connection</code> is connected.
</dl>
<h3>methods</h3>
<dl><dt><b><pre>boolean
isProxy;
</pre></b><dd>
Undocumented.
<p><dt><b><pre><a href="../tom/index.html">tom</a>.<a href="../tom/InvocationResult.html#InvocationResult">InvocationResult</a>
forwardSelector selector sel
arguments pointer args;
</pre></b><dd>
The low-level forwarding method. This method is invoked for
forwarding a invocation completing method and this is used by the
<b><code><a href="Proxy.html#Proxy">Proxy</a></b></code>.
<p><dt><b><pre>void
dealloc;
</pre></b><dd>
Inform our <code>connection</code> from our death. This messages the
<b><code><a href="Connection.html#Connection">Connection</a></b></code> class, since messaging objects from <code>dealloc</code> methods is
not allowed. We identify ourselves by our <code>identity</code> since passing
around a dead object (which we are) is asking for trouble.
<p></dl><hr><h2>class <a href="index.html">too</a>.<a name="NonProxy" href="#i_NonProxy">NonProxy</a></h2>
Instances of (subclasses of) <b><code><a href="Proxy.html#NonProxy">NonProxy</a></b></code> are never proxies. They
always send a copy over the wire.
<h3>Inherits</h3>
<dl>
<dt>State supers
<dd><a href="../tom/index.html">tom</a>.<a href="../tom/State.html#State">State</a>
</dl>
<h2>instance <a href="index.html">too</a>.<a name="i_NonProxy" href="#NonProxy">NonProxy</a></h2>
<h3>methods</h3>
<dl><dt><b><pre>id (self)
replacementForPortCoder <a href="PortEncoder.html#PortEncoder">PortEncoder</a> c;
</pre></b><dd>
Return <code>self</code> as we do not want to be proxied.
<p></dl><hr><h2>class <a href="../tom/index.html">tom</a>.<a href="../tom/Number.html#Number">Number</a> (Proxy)</h2>
<h3>Inherits</h3>
<dl>
<dt>State supers
<dd><a href="Proxy.html#NonProxy">NonProxy</a>
</dl>
<h2>instance <a href="../tom/index.html">tom</a>.<a href="../tom/Number.html#Number">Number</a> (Proxy)</h2>
<hr><h2>class <a href="../tom/index.html">tom</a>.<a href="../tom/Invocation.html#Invocation">Invocation</a> (Proxy)</h2>
<h3>Inherits</h3>
<dl>
<dt>State supers
<dd><a href="Proxy.html#NonProxy">NonProxy</a>
</dl>
<h2>instance <a href="../tom/index.html">tom</a>.<a href="../tom/Invocation.html#Invocation">Invocation</a> (Proxy)</h2>
<hr><h2>class <a href="../tom/index.html">tom</a>.<a href="../tom/InvocationResult.html#InvocationResult">InvocationResult</a> (Proxy)</h2>
<h3>Inherits</h3>
<dl>
<dt>State supers
<dd><a href="Proxy.html#NonProxy">NonProxy</a>
</dl>
<h2>instance <a href="../tom/index.html">tom</a>.<a href="../tom/InvocationResult.html#InvocationResult">InvocationResult</a> (Proxy)</h2>
<hr><h2>class <a href="../tom/index.html">tom</a>.<a href="../tom/Selector.html#Selector">Selector</a> (Proxy)</h2>
<h3>Inherits</h3>
<dl>
<dt>State supers
<dd><a href="Proxy.html#NonProxy">NonProxy</a>
</dl>
<h2>instance <a href="../tom/index.html">tom</a>.<a href="../tom/Selector.html#Selector">Selector</a> (Proxy)</h2>
<hr><h2>class <a href="../tom/index.html">tom</a>.<a href="../tom/collections.html#Collection">Collection</a> (Proxy)</h2>
<h3>Inherits</h3>
<dl>
<dt>State supers
<dd><a href="Proxy.html#NonProxy">NonProxy</a>
</dl>
<h2>instance <a href="../tom/index.html">tom</a>.<a href="../tom/collections.html#Collection">Collection</a> (Proxy)</h2>
<hr><h2>class <a href="../tom/index.html">tom</a>.<a href="../tom/collections.html#MutableCollection">MutableCollection</a> (Proxy)</h2>
<h3>Inherits</h3>
<dl>
<dt>State supers
<dd><a href="../tom/index.html">tom</a>.<a href="../tom/State.html#State">State</a>
</dl>
<h2>instance <a href="../tom/index.html">tom</a>.<a href="../tom/collections.html#MutableCollection">MutableCollection</a> (Proxy)</h2>
<h3>methods</h3>
<dl><dt><b><pre>id
replacementForPortCoder <a href="PortEncoder.html#PortEncoder">PortEncoder</a> c;
</pre></b><dd>
This is naughty: a <b><code><a href="../tom/index.html">tom</a>.<a href="../tom/collections.html#Collection">Collection</a></b></code>, through its inheritance of
<b><code><a href="Proxy.html#NonProxy">NonProxy</a></b></code> returns <code>self</code> when asked its <code>replacementForPortCoder</code>.
However, a <b><code><a href="../tom/index.html">tom</a>.<a href="../tom/collections.html#MutableCollection">MutableCollection</a></b></code> must be proxied for maintaining the
right semantics. Hence, we redirect the method to our direct (though
repeated) superclass, <b><code><a href="../tom/index.html">tom</a>.<a href="../tom/State.html#State">State</a></b></code>.
<p></dl><hr><address>Generated by tm 1.01.</address></body></html>
|