package ch.cyberduck.core.service;
//import ch.cyberduck.core.SyncTransfer.Comparison;
import ch.cyberduck.core.AttributedList;
import ch.cyberduck.core.Path;
import ch.cyberduck.core.TransferAction;
//import ch.cyberduck.core.Transfer.TransferFilter;
import ch.cyberduck.core.i18n.Locale;
public interface SyncTransferService {
public abstract <T> T getAsDictionary();
public abstract void setBandwidth(float bytesPerSecond);
public abstract float getBandwidth();
public abstract String getName();
public abstract double getSize();
public abstract boolean isResumable();
public abstract double getTransferred();
/**
* @param action
*/
public abstract void setTransferAction(TransferAction action);
/**
* @return
*/
public abstract TransferAction getAction();
public static final TransferAction ACTION_DOWNLOAD = new TransferAction() {
public String toString() {
return "download";
}
@Override
public String getLocalizableString() {
return Locale.localizedString("Download");
}
};
public static final TransferAction ACTION_UPLOAD = new TransferAction() {
public String toString() {
return "upload";
}
@Override
public String getLocalizableString() {
return Locale.localizedString("Upload");
}
};
public static final TransferAction ACTION_MIRROR = new TransferAction() {
public String toString() {
return "mirror";
}
@Override
public String getLocalizableString() {
return Locale.localizedString("Mirror");
}
};
// public abstract TransferFilter filter(final TransferAction action);
public abstract AttributedList<Path> childs(final Path parent);
public abstract TransferAction action(final boolean resumeRequested,
final boolean reloadRequested);
// /**
// * Remote file is newer or local file does not exist
// */
// public static final Comparison COMPARISON_REMOTE_NEWER = new Comparison() {
// @Override
// public String toString() {
// return "COMPARISON_REMOTE_NEWER";
// }
// };
// /**
// * Local file is newer or remote file does not exist
// */
// public static final Comparison COMPARISON_LOCAL_NEWER = new Comparison() {
// @Override
// public String toString() {
// return "COMPARISON_LOCAL_NEWER";
// }
// };
// /**
// * Files are identical or directories
// */
// public static final Comparison COMPARISON_EQUAL = new Comparison() {
// @Override
// public String toString() {
// return "COMPARISON_EQUAL";
// }
// };
//
// /**
// * @param p The path to compare
// * @return COMPARISON_REMOTE_NEWER, COMPARISON_LOCAL_NEWER or COMPARISON_EQUAL
// */
// public abstract Comparison compare(Path p);
}