floppycommand.java

来自「纯java操作系统jnode,安装简单和操作简单的个人使用的Java操作系统」· Java 代码 · 共 73 行

JAVA
73
字号
/*
 * $Id: FloppyCommand.java,v 1.1 2003/11/25 11:50:45 epr Exp $
 */
package org.jnode.driver.floppy;

import org.jnode.util.Command;

/**
 * @author epr
 */
public abstract class FloppyCommand extends Command implements FloppyConstants {
	
	/** The drive number 0..3 */
	private final int drive;
	private FloppyException error;
	
	/**
	 * Create a new instance
	 * @param drive
	 */
	public FloppyCommand(int drive) {
		if ((drive < 0) || (drive > 3)) {
			throw new IllegalArgumentException("Invalid drive " + drive);
		}
		this.drive = drive;
	}
	
	/**
	 * Execute the command phase of this command.
	 * @param fdc
	 * @throws FloppyException
	 */
	public abstract void setup(FDC fdc)
	throws FloppyException;
	
	/**
	 * Handle the given IRQ
	 * @param fdc
	 * @throws FloppyException
	 */
	public abstract void handleIRQ(FDC fdc)
	throws FloppyException;

	/**
	 * Gets the driver number for which this command is intended.
	 * @return drive
	 */
	public int getDrive() {
		return drive;
	}
	
	protected void notifyError(FloppyException ex) {
		this.error = ex;
		notifyFinished();
	}
	
	/**
	 * Has an error occured?
	 * @return boolean
	 */
	public boolean hasError() {
		return (error != null);
	}
	
	/**
	 * Gets the error 
	 * @return error
	 */
	public FloppyException getError() {
		return error;
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?