Blame


1 7064acbd 2011-10-12 rsc #import <Cocoa/Cocoa.h>
2 e13727e3 2012-10-21 rsc #import <Foundation/Foundation.h>
3 7064acbd 2011-10-12 rsc
4 7064acbd 2011-10-12 rsc #include <u.h>
5 7064acbd 2011-10-12 rsc #include <libc.h>
6 7064acbd 2011-10-12 rsc
7 e13727e3 2012-10-21 rsc AUTOFRAMEWORK(Foundation)
8 7064acbd 2011-10-12 rsc AUTOFRAMEWORK(Cocoa)
9 7064acbd 2011-10-12 rsc
10 310ae033 2017-01-06 rsc @interface appdelegate : NSObject<NSApplicationDelegate> @end
11 7064acbd 2011-10-12 rsc
12 7064acbd 2011-10-12 rsc void
13 7064acbd 2011-10-12 rsc main(void)
14 7064acbd 2011-10-12 rsc {
15 7064acbd 2011-10-12 rsc if(OSX_VERSION < 100700)
16 7064acbd 2011-10-12 rsc [NSAutoreleasePool new];
17 7064acbd 2011-10-12 rsc
18 7064acbd 2011-10-12 rsc [NSApplication sharedApplication];
19 310ae033 2017-01-06 rsc NSObject<NSApplicationDelegate> *delegate = [appdelegate new];
20 e13727e3 2012-10-21 rsc [NSApp setDelegate:delegate];
21 e13727e3 2012-10-21 rsc
22 e13727e3 2012-10-21 rsc NSAppleEventManager *appleEventManager = [NSAppleEventManager sharedAppleEventManager]; /* Register a call-back for URL Events */
23 e13727e3 2012-10-21 rsc [appleEventManager setEventHandler:delegate andSelector:@selector(handleGetURLEvent:withReplyEvent:)
24 e13727e3 2012-10-21 rsc forEventClass:kInternetEventClass andEventID:kAEGetURL];
25 e13727e3 2012-10-21 rsc
26 7064acbd 2011-10-12 rsc [NSApp run];
27 7064acbd 2011-10-12 rsc }
28 7064acbd 2011-10-12 rsc
29 7064acbd 2011-10-12 rsc @implementation appdelegate
30 7064acbd 2011-10-12 rsc - (void)application:(id)arg openFiles:(NSArray*)file
31 7064acbd 2011-10-12 rsc {
32 7064acbd 2011-10-12 rsc int i,n;
33 7064acbd 2011-10-12 rsc NSString *s;
34 7064acbd 2011-10-12 rsc
35 7064acbd 2011-10-12 rsc n = [file count];
36 7064acbd 2011-10-12 rsc for(i=0; i<n; i++){
37 7064acbd 2011-10-12 rsc s = [file objectAtIndex:i];
38 7064acbd 2011-10-12 rsc print("%s\n", [s UTF8String]);
39 7064acbd 2011-10-12 rsc }
40 7064acbd 2011-10-12 rsc [NSApp terminate:self];
41 7064acbd 2011-10-12 rsc }
42 e13727e3 2012-10-21 rsc
43 e13727e3 2012-10-21 rsc - (void)handleGetURLEvent:(NSAppleEventDescriptor *)event withReplyEvent:(NSAppleEventDescriptor *)replyEvent
44 e13727e3 2012-10-21 rsc {
45 e13727e3 2012-10-21 rsc NSString* url = [[event descriptorForKeyword:keyDirectObject] stringValue];
46 e13727e3 2012-10-21 rsc print("%s\n", [url UTF8String] + (sizeof("plumb:") - 1));
47 e13727e3 2012-10-21 rsc [NSApp terminate:self];
48 e13727e3 2012-10-21 rsc }
49 7064acbd 2011-10-12 rsc @end