
#import <appkit/Listener.h>	// NXPortNameLookup
#import "Filter.h"

@interface Look: Object
{
	int any;
}
@end

@implementation Look
- (void) filter: (Filter *) f flag: (char) ch
{
	NXPrintf(f->err, "usage: %s [portname...]\n", f->progname),
	NXFlush(f->err);
	exit(1);
}

- (int) filter: (Filter *) f arg: (const char *) port
{
	if (port)
	NXPrintf(f->out, "port \"%s\" %sfound\n", port,
	    (any |= NXPortNameLookup(port, NULL)) == PORT_NULL ? "not " : "");
	return 0;
}


- (int) filter: (Filter *) f exit: (int) code
{
	return any == 0;	// success if any is found
}
@end

int main (int argc, char * argv [])
{
	return [[[Filter alloc] initFor: [Look new]] run: argv];
}

