Up
Authors
- Richard Frith-Macdonald (
richard@brainstorm.co.uk
)
-
Version: 1.62
Date: 2005/11/28 15:41:33
Copyright: (C) 1998,1999,2003 Free Software Foundation, Inc.
- Declared in:
- Foundation/NSPortNameServer.h
Availability: OpenStep
Method summary
+ (id)
sharedInstance;
Availability: OpenStep
Obtain single instance for this host.
- Declared in:
- Foundation/NSPortNameServer.h
Availability: OpenStep
The abstract port name server class. This defines an API for working with port name servers... objects used to manage access to ports in the distributed objects system (see
NSConnection
).
Method summary
+ (id)
systemDefaultPortNameServer;
Availability: OpenStep
Returns the default port name server for the process.
This is a nameserver for host-local connections private to the current user. If you with to create public connections or connections to other hosts, you must use [NSSocketPortNameServer +sharedInstance]
instead.
This default behavior may be altered by setting the NSPortIsMessagePort
user default to NO
, in which case an NSSocketPortNameServer
will be used as the default system name server and you will have to use [NSMessagePortNameServer +sharedInstance]
for host-local, private connections.
- (
NSPort*)
portForName: (
NSString*)name;
Availability: OpenStep
Looks up the port with the specified
name on the local host and returns it or
nil
if no port is found with that
name.
Different nameservers have different namespaces appropriate to the type of port they deal with, so failing to find a named port with one nameserver does not guarantee that a port does with that
name does not exist.
This is a convenience method calling
-portForName:onHost:
with a
nil
host argument.
- (
NSPort*)
portForName: (
NSString*)name
onHost: (
NSString*)host;
Availability: OpenStep
Subclasses
should override this method.
Looks up the port with the specified name on host and returns it or nil
if no port is found with that name.
Different nameservers have different namespaces appropriate to the type of port they deal with, so failing to find a named port with one nameserver does not guarantee that a port does with that name does not exist.
- (BOOL)
registerPort: (
NSPort*)port
forName: (
NSString*)name;
Availability: OpenStep
Subclasses
should override this method.
Registers port with the supplied name, so that other processes can look it up to contact it. A port may be registered with more than one name by making multiple calls to this method.
Returns YES
on success, NO
otherwise.
The common cause for failure is that another port is already registered with the name. Raises NSInvalidArgumentException if given bad arguments.
- (BOOL)
removePortForName: (
NSString*)name;
Availability: OpenStep
Subclasses
should override this method.
Removes any port registration for the supplied name (whether registered in the current process or another).
The common cause for failure is that no port is registered with the name.
Raises NSInvalidArgumentException if given bad arguments.
- Declared in:
- Foundation/NSPortNameServer.h
Availability: OpenStep
Instance Variables
Method summary
+ (id)
sharedInstance;
Availability: OpenStep
Returns the shared name server object for
NSSocketPort
objects.
- (
NSPort*)
portForName: (
NSString*)name
onHost: (
NSString*)host;
Availability: OpenStep
Concrete implementation of
[NSPortNameServer -portForName:onHost:]
Looks up and returns a port with the specified
name and
host.
If
host is
nil
or an empty string, this performs a lookup for a port on the current
host.
If
host is an asterisk ('*') then the lookup returns the first port found with the specified
name on any machine on the local network.
Returns
nil
if no matching port could be found.
- (BOOL)
registerPort: (
NSPort*)port
forName: (
NSString*)name;
Availability: OpenStep
Concrete implementation of
[NSPortNameServer -registerPort:forName:]
Registers the
port with the specified
name such that it is available on all the IP addresses of the host on which the process is running.
Returns
YES
on success,
NO
on failure (eg the
name is already in use or there is a problem registering for some reason).
- (BOOL)
removePortForName: (
NSString*)name;
Availability: OpenStep
Instance Variables for NSSocketPortNameServer Class
@protected NSMapTable* _nameMap;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.
@protected NSMapTable* _portMap;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.
- Declared in:
- Foundation/NSPortNameServer.h
Availability: Base 0.0.0
Some extensions to make cleaning up port names easier.
Method summary
- (
NSArray*)
namesForPort: (
NSPort*)port;
Availability: Base 0.0.0
Subclasses
should override this method.
Return all names that have been registered with the receiver for port.
- (BOOL)
removePort: (
NSPort*)port;
Availability: Base 0.0.0
Remove all names registered with the receiver for port. Probably inefficient... subclasses might want to override this.
- (BOOL)
removePort: (
NSPort*)port
forName: (
NSString*)name;
Availability: Base 0.0.0
Subclasses
should override this method.
Remove the name if and only if it is registered with the receiver for the given port.
Up