implement node addition and removal events
[jSite2.git] / src / net / pterodactylus / jsite / core / CoreListener.java
index cef057a..fb109d7 100644 (file)
@@ -127,8 +127,27 @@ public interface CoreListener {
        //
 
        /**
+        * Notifies a listener that a node was added to the core.
+        * 
+        * @param node
+        *            The node that was added.
+        */
+       public void nodeAdded(Node node);
+
+       /**
+        * Notifies a listener that a node was removed from the core. Before a node
+        * is removed, it will be disconnected (and
+        * {@link #nodeDisconnected(Node, Throwable)} will be called).
+        * 
+        * @param node
+        *            The node that was removed
+        */
+       public void nodeRemoved(Node node);
+
+       /**
         * Notifies all listeners that the core started connecting to the given
-        * node.
+        * node. Before a node is connected, it will be added (and
+        * {@link #nodeAdded(Node)} will be called).
         * 
         * @param node
         *            The node that is being connected
@@ -168,4 +187,25 @@ public interface CoreListener {
         */
        public void requestAdded(Node node, Request request);
 
+       /**
+        * Notifies a listener that a request made some progress.
+        * 
+        * @param request
+        *            The request that made the progress
+        * @param totalBlocks
+        *            The total number of blocks
+        * @param requiredBlocks
+        *            The number of required blocks
+        * @param successfulBlocks
+        *            The number of successful blocks
+        * @param failedBlocks
+        *            The number of failed blocks
+        * @param fatallyFailedBlocks
+        *            The number of fatally failed blocks
+        * @param finalizedTotal
+        *            <code>true</code> if the number of total blocks is
+        *            finalized, <code>false</code> if it is not
+        */
+       public void requestProgressed(Request request, int totalBlocks, int requiredBlocks, int successfulBlocks, int failedBlocks, int fatallyFailedBlocks, boolean finalizedTotal);
+
 }