* @throws SalsaDeviceException
*/
public IScanStatus getScanStatus(String scanServerName) throws SalsaDeviceException {
try {
IScanStatus result = new ScanStatusImpl();
DeviceProxy scanServerProxy = getScanServerProxy(scanServerName);
DevState state = scanServerProxy.read_attribute("State").extractState();
result.setState("" + state.value());
result.setStatus(scanServerProxy.read_attribute("Status").extractString());
result.setRunStartDate(scanServerProxy.read_attribute("runStartDate").extractString());
result
.setScanStartDate(scanServerProxy.read_attribute("scanStartDate")
.extractString());
result.setScanEndDate(scanServerProxy.read_attribute("scanEndDate").extractString());
result.setRunEndDate(scanServerProxy.read_attribute("runEndDate").extractString());
result.setScanDuration(scanServerProxy.read_attribute("scanDuration").extractString());
result.setRunDuration(scanServerProxy.read_attribute("runDuration").extractString());
result.setScanRemainingTime(scanServerProxy.read_attribute("scanRemainingTime")
.extractString());
result.setRunRemainingTime(scanServerProxy.read_attribute("runRemainingTime")
.extractString());
result.setScanElapsed(scanServerProxy.read_attribute("scanElapsed").extractString());
result.setRunElapsed(scanServerProxy.read_attribute("runElapsed").extractString());
result
.setRunCompletion(scanServerProxy.read_attribute("runCompletion")
.extractDouble());
result.setScanCompletion(scanServerProxy.read_attribute("scanCompletion")
.extractDouble());
result.setDeadTime(scanServerProxy.read_attribute("deadTime").extractDouble());
result.setDeadTimePercentage(scanServerProxy.read_attribute("deadTimePercent")
.extractDouble());
result.setDeadTimePerPoint(scanServerProxy.read_attribute("deadTimePerPoint")
.extractDouble());
return result;
}
catch (DevFailed e) {
invalidateScanServerProxy(scanServerName);