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.