2005-07-01 21:00:04 +00:00
|
|
|
/* Test/example program for the base library
|
|
|
|
|
|
|
|
Copyright (C) 2005 Free Software Foundation, Inc.
|
|
|
|
|
2005-07-15 22:51:23 +00:00
|
|
|
Copying and distribution of this file, with or without modification,
|
|
|
|
are permitted in any medium without royalty provided the copyright
|
|
|
|
notice and this notice are preserved.
|
|
|
|
|
2005-07-01 21:00:04 +00:00
|
|
|
This file is part of the GNUstep Base Library.
|
|
|
|
*/
|
2000-02-26 07:46:31 +00:00
|
|
|
#include <Foundation/NSAutoreleasePool.h>
|
|
|
|
#include <Foundation/NSProcessInfo.h>
|
|
|
|
#include <Foundation/NSRunLoop.h>
|
|
|
|
#include <Foundation/NSPortMessage.h>
|
|
|
|
#include <Foundation/NSPortNameServer.h>
|
|
|
|
#include <Foundation/NSPort.h>
|
|
|
|
|
|
|
|
@class GSTcpPort;
|
|
|
|
@interface NSPortNameServer (hack)
|
|
|
|
- (Class) setPortClass: (Class)c;
|
|
|
|
@end
|
|
|
|
|
|
|
|
@interface MyDelegate : NSObject
|
|
|
|
- (void) handlePortMessage: (NSPortMessage*)m;
|
|
|
|
@end
|
|
|
|
|
|
|
|
@implementation MyDelegate
|
|
|
|
- (void) handlePortMessage: (NSPortMessage*)m
|
|
|
|
{
|
|
|
|
NSLog(@"Got port message - %@", m);
|
|
|
|
}
|
|
|
|
@end
|
|
|
|
|
|
|
|
int
|
|
|
|
main()
|
|
|
|
{
|
|
|
|
NSRunLoop *loop;
|
|
|
|
GSTcpPort *local;
|
|
|
|
NSPortNameServer *names;
|
|
|
|
MyDelegate *del;
|
|
|
|
CREATE_AUTORELEASE_POOL(pool);
|
|
|
|
|
|
|
|
local = [GSTcpPort new];
|
|
|
|
del = [MyDelegate new];
|
2002-02-25 15:04:06 +00:00
|
|
|
[(id)local setDelegate: del];
|
2000-02-26 07:46:31 +00:00
|
|
|
loop = [NSRunLoop currentRunLoop];
|
|
|
|
[NSPortNameServer setPortClass: [GSTcpPort class]];
|
2000-07-04 09:49:31 +00:00
|
|
|
names = [NSPortNameServer systemDefaultPortNameServer];
|
2000-02-26 07:46:31 +00:00
|
|
|
[names registerPort: (NSPort*)local forName: @"GSTcpPort"];
|
|
|
|
[loop addPort: (NSPort*)local forMode: NSDefaultRunLoopMode];
|
|
|
|
[loop run];
|
|
|
|
RELEASE(pool);
|
|
|
|
exit(0);
|
|
|
|
}
|
|
|
|
|