/*
- * 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
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;
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
* @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.
* @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 reply
* The removed reply
*/
- public void replyRemoved(Reply reply);
+ public void replyRemoved(PostReply reply);
/**
* Notifies a listener when a Sone was locked.
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