This is NeXTICS.m in view mode; [Download] [Up]
/* Generated by Interface Builder */
#import "NeXTICS.h"
#import "spawn.h"
#import "ics_filter.h"
#import <appkit/appkit.h>
#import <sys/types.h>
#import <sys/time.h>
@implementation NeXTICS
void ioActivity(int fd, id self)
{
struct timeval timeout;
timeout.tv_sec = 1;
timeout.tv_usec = 0;
RunSelect( &timeout );
if (childPID() <= 0) {
fprintf( stderr, "CHILD DIED!\n" );
[self terminate:self];
}
}
+ initialize
{
static NXDefaultsVector NeXTICSDefaults = {
{"ECHO", "1"},
{NULL}
};
NXRegisterDefaults("NeXTICS", NeXTICSDefaults);
return self;
}
+ new
{
self = [super new];
Spawn( NXArgv[1], &(NXArgv[1]), filterChars );
DPSAddFD(fileno(stdin), (DPSFDProc)ioActivity, self, NX_MODALRESPTHRESHOLD);
DPSAddFD(childsOutput(),(DPSFDProc)ioActivity, self, NX_MODALRESPTHRESHOLD);
echo = (NXGetDefaultValue("NeXTICS","ECHO")[0] == '1');
if (echo) {
turnOnEcho();
} else {
turnOffEcho();
}
return self;
}
- appWillTerminate:sender
{
cleanUp();
return self;
}
- toggleEcho:sender
{
if (echo) {
fprintf( stderr, "ECHO OFF\n" );
turnOffEcho();
} else {
fprintf( stderr, "ECHO ON\n" );
turnOnEcho();
}
echo = !echo;
if (echo)
NXWriteDefault("NeXTICS", "ECHO", "1");
else
NXWriteDefault("NeXTICS", "ECHO", "0");
return self;
}
@end
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.