This is Client.m in view mode; [Download] [Up]
// // $Id: Client.m,v 1.7 1997/10/31 04:51:37 nygard Exp $ // // // This file is a part of Empire, a game of exploration and conquest. // Copyright (C) 1996 Steve Nygard // // This program is free software; you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation; either version 2 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program; if not, write to the Free Software // Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. // // You may contact the author by: // e-mail: nygard@telusplanet.net // #import "Empire.h" RCSID ("$Id: Client.m,v 1.7 1997/10/31 04:51:37 nygard Exp $"); #import "Client.h" #import <Foundation/NSDistantObject.h> static int _clientCounter = 0; //====================================================================== // This keeps track of the remote object (the client), the associated // connection, and the hostname of the client. When a connection is // no longer valid, we can compare the invalidated connection with // the connections of each client. //====================================================================== #define Client_VERSION 1 @implementation Client + (void) initialize { if (self == [Client class]) { [self setVersion:Client_VERSION]; } } //---------------------------------------------------------------------- - initWithClient:aClient fromHost:(NSString *)aHostname { [super init]; client = [aClient retain]; hostname = [aHostname retain]; // We just maintain a reference. Don't retain. clientConnection = [client connectionForProxy]; // This causes a ProtocolChecker exception: @selector (isKindOfClass:) //NSLog (@"clientConnection: %@\n", clientConnection); identifier = _clientCounter++; return self; } //---------------------------------------------------------------------- - (void) dealloc { SNRelease (hostname); SNRelease (client); [super dealloc]; } //---------------------------------------------------------------------- - (NSString *) hostname { return hostname; } //---------------------------------------------------------------------- - (NSString *) numberedHostname { return [NSString stringWithFormat:@"[%d] %@", identifier, hostname]; } //---------------------------------------------------------------------- - client { return client; } //---------------------------------------------------------------------- - (NSConnection *) clientConnection { return clientConnection; } @end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.