#import "MBCPlayer.h"
@interface MBCEngine : MBCPlayer <NSPortDelegate>
{
NSTask * fEngineTask; NSFileHandle * fToEngine; NSFileHandle * fFromEngine; NSPipe * fToEnginePipe;
NSPipe * fFromEnginePipe;
NSRunLoop * fMainRunLoop;
NSPort * fEngineMoves; NSPortMessage * fMove; MBCMove * fLastMove; MBCMove * fLastPonder; MBCMove * fLastEngineMove; MBCSide fLastSide; bool fThinking; bool fWaitForStart; bool fSetPosition; bool fTakeback; bool fEngineEnabled; bool fNeedsGo; MBCSide fSide; int fSearchTime; NSTimeInterval fDontMoveBefore;}
- (id) init;
- (void) shutdown;
- (void) startGame:(MBCVariant)variant playing:(MBCSide)sideToPlay;
- (void) setSearchTime:(int)time;
- (MBCMove *) lastPonder;
- (MBCMove *) lastEngineMove;
- (void) setGame:(MBCVariant)variant fen:(NSString *)fen holding:(NSString *)holding moves:(NSString *)moves;
- (void) takeback;
- (void) opponentMoved:(NSNotification *)notification;
- (void) runEngine:(id)sender;
- (void) enableEngineMoves:(BOOL)enable;
- (void) handlePortMessage:(NSPortMessage *)message;
- (void) writeToEngine:(NSString *)string;
- (void) interruptEngine;
- (void) flipSide;
- (NSString *) notificationForSide;
- (NSString *) squareToCoord:(MBCSquare)square;
@end