From 983537b0fd77f0056e9428b94910c6d22bd43648 Mon Sep 17 00:00:00 2001 From: zzz Date: Sun, 21 Oct 2012 02:34:46 +0000 Subject: [PATCH] refactor CompleteListener out of Snark.java --- .../src/org/klomp/snark/CompleteListener.java | 55 +++++++++++++++++++ .../java/src/org/klomp/snark/Snark.java | 28 ---------- .../src/org/klomp/snark/SnarkManager.java | 2 +- 3 files changed, 56 insertions(+), 29 deletions(-) create mode 100644 apps/i2psnark/java/src/org/klomp/snark/CompleteListener.java diff --git a/apps/i2psnark/java/src/org/klomp/snark/CompleteListener.java b/apps/i2psnark/java/src/org/klomp/snark/CompleteListener.java new file mode 100644 index 000000000..5e2388aeb --- /dev/null +++ b/apps/i2psnark/java/src/org/klomp/snark/CompleteListener.java @@ -0,0 +1,55 @@ +/* CompleteListener - Callback for Snark events + + Copyright (C) 2003 Mark J. Wielaard + + This file is part of Snark. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software Foundation, + Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. +*/ + +package org.klomp.snark; + +/** + * Callback for Snark events. + * @since 0.9.4 moved from Snark.java + */ +public interface CompleteListener { + public void torrentComplete(Snark snark); + public void updateStatus(Snark snark); + + /** + * We transitioned from magnet mode, we have now initialized our + * metainfo and storage. The listener should now call getMetaInfo() + * and save the data to disk. + * + * @return the new name for the torrent or null on error + * @since 0.8.4 + */ + public String gotMetaInfo(Snark snark); + + /** + * @since 0.9 + */ + public void fatal(Snark snark, String error); + + /** + * @since 0.9.2 + */ + public void addMessage(Snark snark, String message); + + // not really listeners but the easiest way to get back to an optional SnarkManager + public long getSavedTorrentTime(Snark snark); + public BitField getSavedTorrentBitField(Snark snark); +} diff --git a/apps/i2psnark/java/src/org/klomp/snark/Snark.java b/apps/i2psnark/java/src/org/klomp/snark/Snark.java index f553f54d2..531f3ddff 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/Snark.java +++ b/apps/i2psnark/java/src/org/klomp/snark/Snark.java @@ -1204,34 +1204,6 @@ public class Snark completeListener.addMessage(this, message); } - public interface CompleteListener { - public void torrentComplete(Snark snark); - public void updateStatus(Snark snark); - - /** - * We transitioned from magnet mode, we have now initialized our - * metainfo and storage. The listener should now call getMetaInfo() - * and save the data to disk. - * - * @return the new name for the torrent or null on error - * @since 0.8.4 - */ - public String gotMetaInfo(Snark snark); - - /** - * @since 0.9 - */ - public void fatal(Snark snark, String error); - - /** - * @since 0.9.2 - */ - public void addMessage(Snark snark, String message); - - // not really listeners but the easiest way to get back to an optional SnarkManager - public long getSavedTorrentTime(Snark snark); - public BitField getSavedTorrentBitField(Snark snark); - } /** Maintain a configurable total uploader cap * coordinatorListener diff --git a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java index e0b56b140..a0883c05e 100644 --- a/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java +++ b/apps/i2psnark/java/src/org/klomp/snark/SnarkManager.java @@ -42,7 +42,7 @@ import org.klomp.snark.dht.DHT; /** * Manage multiple snarks */ -public class SnarkManager implements Snark.CompleteListener { +public class SnarkManager implements CompleteListener { /** * Map of (canonical) filename of the .torrent file to Snark instance.