libs-base/Source/NSConnection.m

61 lines
1.9 KiB
Mathematica
Raw Normal View History

/* NSConnection - OpenStep front-end to GNU Distributed Objects
Copyright (C) 1997 Free Software Foundation, Inc.
Written by: Andrew Kachites McCallum <mccallum@gnu.ai.mit.edu>
Created: Mar 1997
This file is part of the GNUstep Base Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library 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
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free
Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
#include <gnustep/base/preface.h>
#include <Foundation/NSConnection.h>
@implementation NSConnection
+ (void) initialize
{
if (self == [NSConnection class])
class_add_behavior (self, [Connection class]);
}
/* Get a proxy for the remote NSConnection */
+ (NSConnection*) connectionWithRegisteredName: (NSString*)name
host: (NSString*)host
{
id remote_root_object = [self rootProxyAtName: name onHost: host];
return [remote_root_object connectionForProxy];
}
/* A per-thread default connection. */
+ (NSConnection*) defaultConnection
{
id td = [[NSThread currentThread] threadDictionary];
id dc;
if ((dc = [td objectForKey: @"NSConnection-defaultConnection"]))
return dc;
dc = [self new];
[td setObject: dc forKey: @"NSConnection-defaultConnection"];
return dc;
}
+ (NSDistantObject*) rootProxyForConnectionWithRegisteredName: (NSString*)name
{
[self rootProxyAtName: name];
}
@end