From 068fbdfc5504a8b5dcb10a1d91b73373b27e7681 Mon Sep 17 00:00:00 2001 From: Shikhar Bhushan Date: Sat, 22 May 2010 03:50:26 +0100 Subject: [PATCH] adding a ProgressListener interface, tho it still needs to be called from somewhere... --- .../net/schmizz/sshj/xfer/AbstractFileTransfer.java | 10 ++++++++++ src/main/java/net/schmizz/sshj/xfer/FileTransfer.java | 4 ++++ .../java/net/schmizz/sshj/xfer/ProgressListener.java | 11 +++++++++++ 3 files changed, 25 insertions(+) create mode 100644 src/main/java/net/schmizz/sshj/xfer/ProgressListener.java diff --git a/src/main/java/net/schmizz/sshj/xfer/AbstractFileTransfer.java b/src/main/java/net/schmizz/sshj/xfer/AbstractFileTransfer.java index 75c8fd52..e3f51cd1 100644 --- a/src/main/java/net/schmizz/sshj/xfer/AbstractFileTransfer.java +++ b/src/main/java/net/schmizz/sshj/xfer/AbstractFileTransfer.java @@ -29,6 +29,8 @@ public abstract class AbstractFileTransfer { private volatile ModeGetter modeGetter = defaultModeGetter; private volatile ModeSetter modeSetter = defaultModeSetter; + private volatile ProgressListener progressListener; + public void setModeGetter(ModeGetter modeGetter) { this.modeGetter = (modeGetter == null) ? defaultModeGetter : modeGetter; } @@ -45,4 +47,12 @@ public abstract class AbstractFileTransfer { return this.modeSetter; } + public ProgressListener getProgressListener() { + return progressListener; + } + + public void setProgressListener(ProgressListener progressListener) { + this.progressListener = progressListener; + } + } diff --git a/src/main/java/net/schmizz/sshj/xfer/FileTransfer.java b/src/main/java/net/schmizz/sshj/xfer/FileTransfer.java index 4a2d7760..5aabe64a 100644 --- a/src/main/java/net/schmizz/sshj/xfer/FileTransfer.java +++ b/src/main/java/net/schmizz/sshj/xfer/FileTransfer.java @@ -33,4 +33,8 @@ public interface FileTransfer { void setModeSetter(ModeSetter modeSetter); + ProgressListener getProgressListener(); + + void setProgressListener(ProgressListener listener); + } diff --git a/src/main/java/net/schmizz/sshj/xfer/ProgressListener.java b/src/main/java/net/schmizz/sshj/xfer/ProgressListener.java new file mode 100644 index 00000000..f804bc9e --- /dev/null +++ b/src/main/java/net/schmizz/sshj/xfer/ProgressListener.java @@ -0,0 +1,11 @@ +package net.schmizz.sshj.xfer; + +public interface ProgressListener { + + void started(int item, boolean isDir); + + void progressed(long done, long total); + + void completed(int item); + +}