| #import <Cocoa/Cocoa.h> |
| #import <Foundation/Foundation.h> |
| |
| #include <u.h> |
| #include <libc.h> |
| |
| AUTOFRAMEWORK(Foundation) |
| AUTOFRAMEWORK(Cocoa) |
| |
| @interface appdelegate : NSObject @end |
| |
| void |
| main(void) |
| { |
| if(OSX_VERSION < 100700) |
| [NSAutoreleasePool new]; |
| |
| [NSApplication sharedApplication]; |
| NSObject *delegate = [appdelegate new]; |
| [NSApp setDelegate:delegate]; |
| |
| NSAppleEventManager *appleEventManager = [NSAppleEventManager sharedAppleEventManager]; /* Register a call-back for URL Events */ |
| [appleEventManager setEventHandler:delegate andSelector:@selector(handleGetURLEvent:withReplyEvent:) |
| forEventClass:kInternetEventClass andEventID:kAEGetURL]; |
| |
| [NSApp run]; |
| } |
| |
| @implementation appdelegate |
| - (void)application:(id)arg openFiles:(NSArray*)file |
| { |
| int i,n; |
| NSString *s; |
| |
| n = [file count]; |
| for(i=0; i<n; i++){ |
| s = [file objectAtIndex:i]; |
| print("%s\n", [s UTF8String]); |
| } |
| [NSApp terminate:self]; |
| } |
| |
| - (void)handleGetURLEvent:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent |
| { |
| NSString* url = [[event descriptorForKeyword:keyDirectObject] stringValue]; |
| print("%s\n", [url UTF8String] + (sizeof("plumb:") - 1)); |
| [NSApp terminate:self]; |
| } |
| @end |