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>
|
2002-02-25 15:04:06 +00:00
|
|
|
#include <Foundation/NSData.h>
|
2000-02-26 07:46:31 +00:00
|
|
|
#include <Foundation/NSPort.h>
|
|
|
|
|
|
|
|
@class GSTcpPort;
|
|
|
|
@interface NSPortNameServer (hack)
|
|
|
|
- (Class) setPortClass: (Class)c;
|
|
|
|
@end
|
|
|
|
|
|
|
|
int
|
|
|
|
main()
|
|
|
|
{
|
|
|
|
NSRunLoop *loop;
|
|
|
|
GSTcpPort *local;
|
|
|
|
GSTcpPort *remote;
|
|
|
|
NSPortNameServer *names;
|
|
|
|
CREATE_AUTORELEASE_POOL(pool);
|
|
|
|
|
|
|
|
local = [GSTcpPort new];
|
|
|
|
loop = [NSRunLoop currentRunLoop];
|
|
|
|
[NSPortNameServer setPortClass: [GSTcpPort class]];
|
2002-02-25 15:04:06 +00:00
|
|
|
names = (id)[NSPortNameServer systemDefaultPortNameServer];
|
2000-02-26 07:46:31 +00:00
|
|
|
remote = [names portForName: @"GSTcpPort"];
|
|
|
|
[loop addPort: (NSPort*)local forMode: NSDefaultRunLoopMode];
|
|
|
|
[remote sendBeforeDate: [NSDate dateWithTimeIntervalSinceNow: 240]
|
2000-02-27 09:39:06 +00:00
|
|
|
components: [NSMutableArray arrayWithObject:
|
|
|
|
[NSData dataWithBytes: "hello" length: 5]]
|
2000-02-26 07:46:31 +00:00
|
|
|
from: local
|
|
|
|
reserved: 0];
|
|
|
|
[loop run];
|
|
|
|
RELEASE(pool);
|
|
|
|
exit(0);
|
|
|
|
}
|
|
|
|
|