This is ServerList.m in view mode; [Download] [Up]
#import "ServerList.h"
#include "GoServer.h"
@implementation List(ServerList)
- initFromPref {
int i;
for (i=0; [self addObject:[ [GoServer alloc] initFromPref:i]]; i++);
return self;
}
- saveToPref {
int i;
/* How many servers did we know before ? */
id tempServerList = [ [ [List alloc] init] initFromPref];
int oldNumberOfServers = [tempServerList count];
/* save the actual list */
for (i=0; i<=[self count]; i++) {
id server = [self objectAt:i];
if ([server respondsTo:@selector(saveToPref:)])
[server saveToPref:i];
}
/* if the number of servers decreased, delete the remaining servers */
if ([self count] < oldNumberOfServers) {
for (i=[self count]; i<=oldNumberOfServers; i++) {
id server = [tempServerList objectAt:i];
if ([server respondsTo:@selector(removeFromPref:)])
[server removeFromPref:i];
}
}
[ [tempServerList freeObjects] free];
return self;
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.