Add command to subscribe to USK updates
[jFCPlib.git] / src / main / java / net / pterodactylus / fcp / quelaton / FcpDialog.java
index 2aa003c..f218610 100644 (file)
@@ -36,6 +36,7 @@ import net.pterodactylus.fcp.PersistentPutDir;
 import net.pterodactylus.fcp.PersistentRequestModified;
 import net.pterodactylus.fcp.PersistentRequestRemoved;
 import net.pterodactylus.fcp.PluginInfo;
+import net.pterodactylus.fcp.PluginRemoved;
 import net.pterodactylus.fcp.ProtocolError;
 import net.pterodactylus.fcp.PutFailed;
 import net.pterodactylus.fcp.PutFetchable;
@@ -45,6 +46,7 @@ import net.pterodactylus.fcp.SSKKeypair;
 import net.pterodactylus.fcp.SentFeed;
 import net.pterodactylus.fcp.SimpleProgress;
 import net.pterodactylus.fcp.StartedCompression;
+import net.pterodactylus.fcp.SubscribedUSK;
 import net.pterodactylus.fcp.SubscribedUSKUpdate;
 import net.pterodactylus.fcp.TestDDAComplete;
 import net.pterodactylus.fcp.TestDDAReply;
@@ -57,7 +59,7 @@ import com.google.common.util.concurrent.ListeningExecutorService;
 import com.google.common.util.concurrent.MoreExecutors;
 
 /**
- * An FCP reply sequence enables you to conveniently wait for a specific set of FCP replies.
+ * An FCP dialog enables you to conveniently wait for a specific set of FCP replies.
  *
  * @author <a href="bombe@freenetproject.org">David ‘Bombe’ Roden</a>
  */
@@ -355,6 +357,13 @@ public abstract class FcpDialog<R> implements AutoCloseable, FcpListener {
        protected void consumePersistentRequestRemoved(PersistentRequestRemoved persistentRequestRemoved) { }
 
        @Override
+       public final void receivedSubscribedUSK(FcpConnection fcpConnection, SubscribedUSK subscribedUSK) {
+               consume(this::consumeSubscribedUSK, subscribedUSK);
+       }
+
+       protected void consumeSubscribedUSK(SubscribedUSK subscribedUSK) { }
+
+       @Override
        public final void receivedSubscribedUSKUpdate(FcpConnection fcpConnection, SubscribedUSKUpdate subscribedUSKUpdate) {
                consume(this::consumeSubscribedUSKUpdate, subscribedUSKUpdate);
        }
@@ -369,6 +378,13 @@ public abstract class FcpDialog<R> implements AutoCloseable, FcpListener {
        protected void consumePluginInfo(PluginInfo pluginInfo) { }
 
        @Override
+       public final void receivedPluginRemoved(FcpConnection fcpConnection, PluginRemoved pluginRemoved) {
+               consume(this::consumePluginRemoved, pluginRemoved);
+       }
+
+       protected void consumePluginRemoved(PluginRemoved pluginRemoved) { }
+
+       @Override
        public final void receivedFCPPluginReply(FcpConnection fcpConnection, FCPPluginReply fcpPluginReply) {
                consume(this::consumeFCPPluginReply, fcpPluginReply);
        }