File: Proxy.html

package info (click to toggle)
tom 1.1.1-2
  • links: PTS
  • area: main
  • in suites: potato
  • size: 6,340 kB
  • ctags: 2,244
  • sloc: objc: 27,863; ansic: 9,804; sh: 7,411; yacc: 3,377; lex: 966; asm: 208; makefile: 62; cpp: 10
file content (180 lines) | stat: -rw-r--r-- 8,541 bytes parent folder | download
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>