package com.tibco.as.spacebar.ui.transfer;
import org.eclipse.core.runtime.IProgressMonitor;
import com.tibco.as.io.ITransfer;
import com.tibco.as.io.ITransferListener;
public class TransferListener implements ITransferListener {
private ITransfer transfer;
private IProgressMonitor monitor;
private long position;
public TransferListener(ITransfer transfer, IProgressMonitor monitor) {
this.transfer = transfer;
this.monitor = monitor;
}
@Override
public void opened() {
position = getPosition();
}
private long getPosition() {
return transfer.getInputStream().getPosition();
}
@Override
public void transferred(int count) {
long newPosition = getPosition();
monitor.worked((int) (newPosition - position));
position = newPosition;
}
@Override
public void closed() {
}
}