//
//  BJGTextIOHandler.h
//  Escape
//
//  Created by Brent Gulanowski on 11/27/05.
//  Copyright 2005 Bored Astronaut Software. All rights reserved.
//
//  An interface to text-based input and output; primarily for handling stdio.


#import <Foundation/Foundation.h>


@interface BJGTextIOHandler : NSObject {
	
	NSFileHandle *inputFH;
	NSFileHandle *outputFH;
	id delegate;
}

/* designated initializer */
-(id)initWithInputFile:(NSString *)inFile outputFile:(NSString *)outFile;

/* set inFile to nil for stdin, outFile to nil for stdout */
-(void)setInputFile:(NSString *)inFile;
-(void)setOutputFile:(NSString *)outFile;

/* if there's no delegate, nothing happens */
-(id)delegate;
-(void)setDelegate:(id)del;
-(void)write:(NSString *)line;

@end

@interface NSObject (BJGStandardIOHandlerDelegate)
-(NSString *)processInput:(NSString *)inputString;
@end
