This is ctrltmr.m in view mode; [Download] [Up]
// // ctrltmr.m, Kommandozeilen-Utility zum Senden zweier Remote Messages // an eine Timer-Applikation // #include "TimerSpeaker.h" #include <libc.h> void usage(const char *name) { fprintf(stderr,"%s: invoke either with option -r or -x\n",name); exit(1); } void performmsg(const char *name,SEL aSel) { int msgDelivered, fileOpened; id mySpeaker = [[TimerSpeaker alloc] init]; port_t thePort = NXPortFromName("Timer",NULL); if( thePort!=PORT_NULL ) { [mySpeaker setSendPort:thePort]; msgDelivered = (int)[mySpeaker perform:aSel]; if( msgDelivered!=0 ) { fprintf(stderr,"%s: sorry can't deliver " "method\n",name); exit(2); } } [mySpeaker free]; port_deallocate(task_self(),thePort); } int main(int argc,char **argv) { const char *name = strrchr(argv[0],'/'); if( name ) name += 1; else name = argv[0]; if( argc!=2 ) usage(name); if( strcmp(argv[1],"-r")==0 ) performmsg(name,@selector(resetUnits)); else if( strcmp(argv[1],"-x")==0 ) performmsg(name,@selector(exit)); else usage(name); return 0; }
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.