|
|
1.1 root 1: // FullCopyList by sam
2: // a normal list, when passed by copy, passes a copy of the
3: // List containing proxies of its items
4: // This class delivers a copy of the List containing copies of the items.
5:
6: #import "FullCopyList.h"
7:
8:
9: @implementation FullCopyList
10:
11: - encodeRemotelyFor:(NXConnection *)connection freeAfterEncoding:(BOOL *)flagp isBycopy:(BOOL)isBycopy
12: {
13: if (isBycopy) return self;
14: return [super encodeRemotelyFor:connection
15: freeAfterEncoding:flagp isBycopy:isBycopy];
16: }
17:
18: - encodeUsing:(id <NXEncoding>)portal
19: {
20: int n = [self count];
21: int counter;
22:
23: [portal encodeData:&n ofType:"i"];
24: for (counter = 0; counter < n; ++counter) {
25: id anObject = [self objectAt:counter];
26: [portal encodeObjectBycopy:anObject];
27: }
28: return self;
29: }
30:
31: - decodeUsing:(id <NXDecoding>)portal
32: {
33: int counter, n;
34: [portal decodeData:&n ofType:"i"];
35: [self initCount:n];
36: for (counter = 0; counter < n; ++counter) {
37: id anObject = [portal decodeObject];
38: [self addObject:anObject];
39: }
40: return self;
41: }
42: @end
43:
44:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.