mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-23 08:30:59 +00:00
Improved NSHosting support
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@13062 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
parent
368fa049c1
commit
3ab6ab3e9b
3 changed files with 63 additions and 9 deletions
|
@ -1,3 +1,8 @@
|
|||
2002-03-09 Richard Frith-Macdonald <rfm@gnu.org>
|
||||
|
||||
* Source/NSPasteboard.m: Use NSHost to look for alternative servers.
|
||||
* Tools/gpbs.m: Use -NSHost to specify alternative server names.
|
||||
|
||||
Sat Mar 9 12:22:05 2002 Adam Fedor <fedor@yogi.doc.com>
|
||||
|
||||
* Source/GSSimpleLayoutManager.m:
|
||||
|
|
|
@ -181,9 +181,15 @@ static NSMapTable *mimeMap = NULL;
|
|||
}
|
||||
else
|
||||
{
|
||||
NSLog(@"Unable to contact pasteboard server on %@ - "
|
||||
@"please ensure that gpbs is running.", host);
|
||||
return nil;
|
||||
the_server = (id<GSPasteboardSvr>)[NSConnection
|
||||
rootProxyForConnectionWithRegisteredName:
|
||||
[PBS_NAME stringByAppendingFormat: @"-%@", host] host: @"*"];
|
||||
if (the_server == nil)
|
||||
{
|
||||
NSLog(@"Unable to contact pasteboard server for %@ - "
|
||||
@"please ensure that gpbs is running.", host);
|
||||
}
|
||||
RETAIN(the_server);
|
||||
}
|
||||
}
|
||||
return the_server;
|
||||
|
|
55
Tools/gpbs.m
55
Tools/gpbs.m
|
@ -1041,6 +1041,8 @@ int
|
|||
main(int argc, char** argv, char **env)
|
||||
{
|
||||
NSAutoreleasePool *pool;
|
||||
NSString *hostname;
|
||||
|
||||
|
||||
#ifdef GS_PASS_ARGUMENTS
|
||||
[NSProcessInfo initializeWithArguments:argv count:argc environment:env];
|
||||
|
@ -1061,12 +1063,6 @@ main(int argc, char** argv, char **env)
|
|||
/* Register a connection that provides the server object to the network */
|
||||
conn = [NSConnection defaultConnection];
|
||||
[conn setRootObject: server];
|
||||
if ([conn registerName: PBSNAME] == NO)
|
||||
{
|
||||
NSLog(@"Unable to register with name server.\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
[conn setDelegate: server];
|
||||
[[NSNotificationCenter defaultCenter]
|
||||
addObserver: server
|
||||
|
@ -1074,6 +1070,53 @@ main(int argc, char** argv, char **env)
|
|||
name: NSConnectionDidDieNotification
|
||||
object: conn];
|
||||
|
||||
hostname = [[NSUserDefaults standardUserDefaults] stringForKey: @"NSHost"];
|
||||
if ([hostname length] == 0)
|
||||
{
|
||||
if ([conn registerName: PBSNAME] == NO)
|
||||
{
|
||||
NSLog(@"Unable to register with name server.\n");
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
NSHost *host = [NSHost hostWithName: hostname];
|
||||
NSPort *port = [conn receivePort];
|
||||
NSPortNameServer *ns = [NSPortNameServer systemDefaultPortNameServer];
|
||||
NSArray *a;
|
||||
unsigned c;
|
||||
|
||||
if (host == nil)
|
||||
{
|
||||
NSLog(@"gdnc - unknown NSHost argument ... %@ - quiting.", hostname);
|
||||
DESTROY(self);
|
||||
return self;
|
||||
}
|
||||
a = [host names];
|
||||
c = [a count];
|
||||
while (c-- > 0)
|
||||
{
|
||||
NSString *name = [a objectAtIndex: c];
|
||||
|
||||
name = [PBSNAME stringByAppendingFormat: @"-%@", name];
|
||||
if ([ns registerPort: port forName: name] == NO)
|
||||
{
|
||||
}
|
||||
}
|
||||
a = [host addresses];
|
||||
c = [a count];
|
||||
while (c-- > 0)
|
||||
{
|
||||
NSString *name = [a objectAtIndex: c];
|
||||
|
||||
name = [PBSNAME stringByAppendingFormat: @"-%@", name];
|
||||
if ([ns registerPort: port forName: name] == NO)
|
||||
{
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (verbose)
|
||||
{
|
||||
NSLog(@"GNU pasteboard server startup.\n");
|
||||
|
|
Loading…
Reference in a new issue