Fix ALL the logging!
[Sone.git] / src / main / java / net / pterodactylus / sone / core / CoreListener.java
index 595d11a..2e7b337 100644 (file)
@@ -19,9 +19,11 @@ package net.pterodactylus.sone.core;
 
 import java.util.EventListener;
 
+import net.pterodactylus.sone.data.Image;
 import net.pterodactylus.sone.data.Post;
-import net.pterodactylus.sone.data.Reply;
+import net.pterodactylus.sone.data.PostReply;
 import net.pterodactylus.sone.data.Sone;
+import net.pterodactylus.util.version.Version;
 
 /**
  * Listener interface for objects that want to be notified on certain
@@ -32,22 +34,6 @@ import net.pterodactylus.sone.data.Sone;
 public interface CoreListener extends EventListener {
 
        /**
-        * Notifies a listener that a Sone is now being rescued.
-        *
-        * @param sone
-        *            The Sone that is rescued
-        */
-       public void rescuingSone(Sone sone);
-
-       /**
-        * Notifies a listener that the Sone was rescued and can now be unlocked.
-        *
-        * @param sone
-        *            The Sone that was rescued
-        */
-       public void rescuedSone(Sone sone);
-
-       /**
         * Notifies a listener that a new Sone has been discovered.
         *
         * @param sone
@@ -69,7 +55,7 @@ public interface CoreListener extends EventListener {
         * @param reply
         *            The new reply
         */
-       public void newReplyFound(Reply reply);
+       public void newReplyFound(PostReply reply);
 
        /**
         * Notifies a listener that the given Sone is now marked as known.
@@ -93,6 +79,124 @@ public interface CoreListener extends EventListener {
         * @param reply
         *            The known reply
         */
-       public void markReplyKnown(Reply reply);
+       public void markReplyKnown(PostReply reply);
+
+       /**
+        * Notifies a listener that the given Sone was removed.
+        *
+        * @param sone
+        *            The removed Sone
+        */
+       public void soneRemoved(Sone sone);
+
+       /**
+        * Notifies a listener that the given post was removed.
+        *
+        * @param post
+        *            The removed post
+        */
+       public void postRemoved(Post post);
+
+       /**
+        * Notifies a listener that the given reply was removed.
+        *
+        * @param reply
+        *            The removed reply
+        */
+       public void replyRemoved(PostReply reply);
+
+       /**
+        * Notifies a listener when a Sone was locked.
+        *
+        * @param sone
+        *            The Sone that was locked
+        */
+       public void soneLocked(Sone sone);
+
+       /**
+        * Notifies a listener that a Sone was unlocked.
+        *
+        * @param sone
+        *            The Sone that was unlocked
+        */
+       public void soneUnlocked(Sone sone);
+
+       /**
+        * Notifies a listener that the insert of the given Sone has started.
+        *
+        * @see SoneInsertListener#insertStarted(Sone)
+        * @param sone
+        *            The Sone that is being inserted
+        */
+       public void soneInserting(Sone sone);
+
+       /**
+        * Notifies a listener that the insert of the given Sone has finished
+        * successfully.
+        *
+        * @see SoneInsertListener#insertFinished(Sone, long)
+        * @param sone
+        *            The Sone that has been inserted
+        * @param insertDuration
+        *            The insert duration (in milliseconds)
+        */
+       public void soneInserted(Sone sone, long insertDuration);
+
+       /**
+        * Notifies a listener that the insert of the given Sone was aborted.
+        *
+        * @see SoneInsertListener#insertAborted(Sone, Throwable)
+        * @param sone
+        *            The Sone that was inserted
+        * @param cause
+        *            The cause for the abortion (may be {@code null})
+        */
+       public void soneInsertAborted(Sone sone, Throwable cause);
+
+       /**
+        * Notifies a listener that a new version has been found.
+        *
+        * @param version
+        *            The version that was found
+        * @param releaseTime
+        *            The release time of the new version
+        * @param latestEdition
+        *            The latest edition of the Sone homepage
+        */
+       public void updateFound(Version version, long releaseTime, long latestEdition);
+
+       /**
+        * Notifies a listener that an image has started being inserted.
+        *
+        * @param image
+        *            The image that is now inserted
+        */
+       public void imageInsertStarted(Image image);
+
+       /**
+        * Notifies a listener that an image insert was aborted by the user.
+        *
+        * @param image
+        *            The image that is not inserted anymore
+        */
+       public void imageInsertAborted(Image image);
+
+       /**
+        * Notifies a listener that an image was successfully inserted.
+        *
+        * @param image
+        *            The image that was inserted
+        */
+       public void imageInsertFinished(Image image);
+
+       /**
+        * Notifies a listener that an image failed to be inserted.
+        *
+        * @param image
+        *            The image that could not be inserted
+        * @param cause
+        *            The reason for the failed insert
+        */
+       public void imageInsertFailed(Image image, Throwable cause);
 
 }