This is eject.m in view mode; [Download] [Up]
#import <stdio.h>
#import <appkit/Application.h>
#import <appkit/workspaceRequest.h>
char *path;
@interface MyObj : Object
{
}
- appDidInit:sender;
@end
@implementation MyObj
- appDidInit:sender
{
int rc;
printf("App did init path=%s\n", path);
[[Application workspace] unmountAndEjectDeviceAt:path];
[NXApp perform:@selector(terminate:) with:self
afterDelay:1000.0 cancelPrevious:NO];
return self;
}
@end
main(int argc, char **argv)
{
id obj;
obj = [[MyObj alloc] init];
if (argc != 2)
{
fprintf(stderr, "Usage: %s path\n", argv[0]);
exit(1);
}
path = argv[1];
printf("Ejecting %s\n", path);
[Application new];
[NXApp setDelegate:obj];
[NXApp run];
[NXApp free];
}
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.