package uk.co.mmscomputing.device.twain; import java.io.IOException; import uk.co.mmscomputing.device.scanner.*; public class TwainIOMetadata extends ScannerIOMetadata{ static public final String[] TWAIN_STATE = { "", "Pre-Session", "Source Manager Loaded", "Source Manager Open", "Source Open", "Source Enabled", "Transfer Ready", "Transferring Data", }; public String getStateStr(){ return TWAIN_STATE[getState()];} private TwainSource source=null; void setSource(TwainSource source){this.source=source;} public TwainSource getSource(){return source;} public ScannerDevice getDevice(){return source;} private TwainTransfer.MemoryTransfer.Info memory=null; public void setMemory(TwainTransfer.MemoryTransfer.Info info){memory=info;} public TwainTransfer.MemoryTransfer.Info getMemory(){return memory;} // only valid when state changes! public boolean isFinished(){return (getState()==3)&&(getLastState()==4);} }