/*
 * DriveStatus.java
 *
 * Copyright (c) 2007  Vreixo Formoso
 *
 * This library is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 * See COPYING file for details.
 */

package org.pykix.libburnia.libburn;

/**
 * Possible busy states for a drive.
 * 
 * @author Vreixo Formoso
 * @since 0.1
 */
public enum DriveStatus {

	/** The drive is not in an operation. */
	IDLE,
	
	/** 
	 * The library is spawning the processes to handle a pending
	 * operation (A read/write/etc is about to start but hasn't quite
	 * yet).
	 */
	SPAWNING,
	
	/** The drive is reading data from a disc. */
	READING,
	
	/** The drive is writing data to a disc. */
	WRITING,
	
	/** The drive is writing Lead-In. */
	WRITING_LEADIN,
	
	/** The drive is writing Lead-Out. */
	WRITING_LEADOUT,
	
	/** The drive is erasing a disc. */
	ERASING,
	
	/** The drive is being grabbed. */
	GRABBING,

	/** The drive gets written zeroes before the track payload data. */
	WRITING_PREGAP,
	
	/** The drive is told to close a track (TAO only). */
	CLOSING_TRACK,
	
	/** The drive is told to close a session (TAO only). */
	CLOSING_SESSION,

	/** The drive is formatting media. */
	FORMATTING
	
}
