From 6610155ca427f57dc135ccfd9e7b2f6cfad28114 Mon Sep 17 00:00:00 2001 From: =?utf8?q?David=20=E2=80=98Bombe=E2=80=99=20Roden?= Date: Tue, 24 Nov 2015 21:30:37 +0100 Subject: [PATCH] =?utf8?q?Recognized=20=E2=80=9CSubscribedUSK=E2=80=9D=20e?= =?utf8?q?vent?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../java/net/pterodactylus/fcp/FcpAdapter.java | 5 +++ .../java/net/pterodactylus/fcp/FcpConnection.java | 2 + .../java/net/pterodactylus/fcp/FcpListener.java | 2 + .../net/pterodactylus/fcp/FcpListenerManager.java | 6 +++ .../java/net/pterodactylus/fcp/SubscribedUSK.java | 45 ++++++++++++++++++++++ 5 files changed, 60 insertions(+) create mode 100644 src/main/java/net/pterodactylus/fcp/SubscribedUSK.java diff --git a/src/main/java/net/pterodactylus/fcp/FcpAdapter.java b/src/main/java/net/pterodactylus/fcp/FcpAdapter.java index 8d7da06..0d0debc 100644 --- a/src/main/java/net/pterodactylus/fcp/FcpAdapter.java +++ b/src/main/java/net/pterodactylus/fcp/FcpAdapter.java @@ -253,6 +253,11 @@ public class FcpAdapter implements FcpListener { /* empty. */ } + @Override + public void receivedSubscribedUSK(FcpConnection fcpConnection, SubscribedUSK subscribedUSK) { + /* empty. */ + } + /** * {@inheritDoc} */ diff --git a/src/main/java/net/pterodactylus/fcp/FcpConnection.java b/src/main/java/net/pterodactylus/fcp/FcpConnection.java index d97a541..b191ad1 100644 --- a/src/main/java/net/pterodactylus/fcp/FcpConnection.java +++ b/src/main/java/net/pterodactylus/fcp/FcpConnection.java @@ -261,6 +261,8 @@ public class FcpConnection implements Closeable { fcpListenerManager.fireReceivedDataFound(new DataFound(fcpMessage)); } else if ("SubscribedUSKUpdate".equals(messageName)) { fcpListenerManager.fireReceivedSubscribedUSKUpdate(new SubscribedUSKUpdate(fcpMessage)); + } else if ("SubscribedUSK".equals(messageName)) { + fcpListenerManager.fireReceivedSubscribedUSK(new SubscribedUSK(fcpMessage)); } else if ("IdentifierCollision".equals(messageName)) { fcpListenerManager.fireReceivedIdentifierCollision(new IdentifierCollision(fcpMessage)); } else if ("AllData".equals(messageName)) { diff --git a/src/main/java/net/pterodactylus/fcp/FcpListener.java b/src/main/java/net/pterodactylus/fcp/FcpListener.java index 91e1f9c..b96885f 100644 --- a/src/main/java/net/pterodactylus/fcp/FcpListener.java +++ b/src/main/java/net/pterodactylus/fcp/FcpListener.java @@ -309,6 +309,8 @@ public interface FcpListener extends EventListener { */ public void receivedPersistentRequestRemoved(FcpConnection fcpConnection, PersistentRequestRemoved persistentRequestRemoved); + void receivedSubscribedUSK(FcpConnection fcpConnection, SubscribedUSK subscribedUSK); + /** * Notifies a listener that a “SubscribedUSKUpdate” message was received. * diff --git a/src/main/java/net/pterodactylus/fcp/FcpListenerManager.java b/src/main/java/net/pterodactylus/fcp/FcpListenerManager.java index a5c27af..a25f3bf 100644 --- a/src/main/java/net/pterodactylus/fcp/FcpListenerManager.java +++ b/src/main/java/net/pterodactylus/fcp/FcpListenerManager.java @@ -438,6 +438,12 @@ public class FcpListenerManager { } } + public void fireReceivedSubscribedUSK(SubscribedUSK subscribedUSK) { + for (FcpListener fcpListener : getListeners()) { + fcpListener.receivedSubscribedUSK(getSource(), subscribedUSK); + } + } + /** * Notifies all listeners that a “SubscribedUSKUpdate” message was * received. diff --git a/src/main/java/net/pterodactylus/fcp/SubscribedUSK.java b/src/main/java/net/pterodactylus/fcp/SubscribedUSK.java new file mode 100644 index 0000000..f4c5d4d --- /dev/null +++ b/src/main/java/net/pterodactylus/fcp/SubscribedUSK.java @@ -0,0 +1,45 @@ +/* + * jFCPlib - SubscribedUSKUpdate.java - Copyright © 2008 David Roden + * + * 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 of the License, 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 net.pterodactylus.fcp; + +/** + * A “SubscribedUSK” message is sent when a {@link SubscribeUSK} was succesfully processed. + * + * @author David ‘Bombe’ Roden <bombe@freenetproject.org> + */ +public class SubscribedUSK extends BaseMessage implements Identifiable { + + public SubscribedUSK(FcpMessage receivedMessage) { + super(receivedMessage); + } + + @Override + public String getIdentifier() { + return getField("Identifier"); + } + + public String getURI() { + return getField("URI"); + } + + public boolean isDontPoll() { + return Boolean.parseBoolean(getField("DontPoll")); + } + +} -- 2.7.4