Convert “Sone locked” into EventBus-based event.
[Sone.git] / src / main / java / net / pterodactylus / sone / core / CoreListener.java
index fb83c9f..a826e64 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Sone - CoreListener.java - Copyright © 2010 David Roden
+ * Sone - CoreListener.java - Copyright © 2010–2012 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
@@ -19,8 +19,7 @@ package net.pterodactylus.sone.core;
 
 import java.util.EventListener;
 
-import net.pterodactylus.sone.data.Post;
-import net.pterodactylus.sone.data.Reply;
+import net.pterodactylus.sone.data.Image;
 import net.pterodactylus.sone.data.Sone;
 import net.pterodactylus.util.version.Version;
 
@@ -33,111 +32,89 @@ import net.pterodactylus.util.version.Version;
 public interface CoreListener extends EventListener {
 
        /**
-        * Notifies a listener that a Sone is now being rescued.
+        * Notifies a listener that a Sone was unlocked.
         *
         * @param sone
-        *            The Sone that is rescued
+        *            The Sone that was unlocked
         */
-       public void rescuingSone(Sone sone);
+       public void soneUnlocked(Sone sone);
 
        /**
-        * Notifies a listener that the Sone was rescued and can now be unlocked.
+        * Notifies a listener that the insert of the given Sone has started.
         *
+        * @see SoneInsertListener#insertStarted(Sone)
         * @param sone
-        *            The Sone that was rescued
+        *            The Sone that is being inserted
         */
-       public void rescuedSone(Sone sone);
+       public void soneInserting(Sone sone);
 
        /**
-        * Notifies a listener that a new Sone has been discovered.
+        * Notifies a listener that the insert of the given Sone has finished
+        * successfully.
         *
+        * @see SoneInsertListener#insertFinished(Sone, long)
         * @param sone
-        *            The new Sone
-        */
-       public void newSoneFound(Sone sone);
-
-       /**
-        * Notifies a listener that a new post has been found.
-        *
-        * @param post
-        *            The new post
-        */
-       public void newPostFound(Post post);
-
-       /**
-        * Notifies a listener that a new reply has been found.
-        *
-        * @param reply
-        *            The new reply
+        *            The Sone that has been inserted
+        * @param insertDuration
+        *            The insert duration (in milliseconds)
         */
-       public void newReplyFound(Reply reply);
+       public void soneInserted(Sone sone, long insertDuration);
 
        /**
-        * Notifies a listener that the given Sone is now marked as known.
+        * Notifies a listener that the insert of the given Sone was aborted.
         *
+        * @see SoneInsertListener#insertAborted(Sone, Throwable)
         * @param sone
-        *            The known Sone
-        */
-       public void markSoneKnown(Sone sone);
-
-       /**
-        * Notifies a listener that the given post is now marked as known.
-        *
-        * @param post
-        *            The known post
+        *            The Sone that was inserted
+        * @param cause
+        *            The cause for the abortion (may be {@code null})
         */
-       public void markPostKnown(Post post);
+       public void soneInsertAborted(Sone sone, Throwable cause);
 
        /**
-        * Notifies a listener that the given reply is now marked as known.
-        *
-        * @param reply
-        *            The known reply
-        */
-       public void markReplyKnown(Reply reply);
-
-       /**
-        * Notifies a listener that the given post was removed.
+        * Notifies a listener that a new version has been found.
         *
-        * @param post
-        *            The removed post
+        * @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 postRemoved(Post post);
+       public void updateFound(Version version, long releaseTime, long latestEdition);
 
        /**
-        * Notifies a listener that the given reply was removed.
+        * Notifies a listener that an image has started being inserted.
         *
-        * @param reply
-        *            The removed reply
+        * @param image
+        *            The image that is now inserted
         */
-       public void replyRemoved(Reply reply);
+       public void imageInsertStarted(Image image);
 
        /**
-        * Notifies a listener when a Sone was locked.
+        * Notifies a listener that an image insert was aborted by the user.
         *
-        * @param sone
-        *            The Sone that was locked
+        * @param image
+        *            The image that is not inserted anymore
         */
-       public void soneLocked(Sone sone);
+       public void imageInsertAborted(Image image);
 
        /**
-        * Notifies a listener that a Sone was unlocked.
+        * Notifies a listener that an image was successfully inserted.
         *
-        * @param sone
-        *            The Sone that was unlocked
+        * @param image
+        *            The image that was inserted
         */
-       public void soneUnlocked(Sone sone);
+       public void imageInsertFinished(Image image);
 
        /**
-        * Notifies a listener that a new version has been found.
+        * Notifies a listener that an image failed to be inserted.
         *
-        * @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
+        * @param image
+        *            The image that could not be inserted
+        * @param cause
+        *            The reason for the failed insert
         */
-       public void updateFound(Version version, long releaseTime, long latestEdition);
+       public void imageInsertFailed(Image image, Throwable cause);
 
 }