Send events when downloads start and finish.
[xudocci.git] / src / main / java / net / pterodactylus / xdcc / core / Core.java
index bd60a97..13e63f2 100644 (file)
@@ -42,6 +42,8 @@ import net.pterodactylus.irc.util.MessageCleaner;
 import net.pterodactylus.irc.util.RandomNickname;
 import net.pterodactylus.xdcc.core.event.BotAdded;
 import net.pterodactylus.xdcc.core.event.CoreStarted;
+import net.pterodactylus.xdcc.core.event.DownloadFinished;
+import net.pterodactylus.xdcc.core.event.DownloadStarted;
 import net.pterodactylus.xdcc.data.Bot;
 import net.pterodactylus.xdcc.data.Channel;
 import net.pterodactylus.xdcc.data.Download;
@@ -364,6 +366,7 @@ public class Core extends AbstractIdleService {
                        download.filename(outputFile.getPath()).outputStream(fileOutputStream).dccReceiver(dccReceiver);
                        dccReceivers.add(dccReceiver);
                        dccReceiver.start();
+                       eventBus.post(new DownloadStarted(download));
                } catch (FileNotFoundException fnfe1) {
                        logger.log(Level.WARNING, "Could not open file for download!", fnfe1);
                }
@@ -388,6 +391,7 @@ public class Core extends AbstractIdleService {
                        download.outputStream().close();
                        File file = new File(download.filename());
                        file.renameTo(new File(finalDirectory, download.filename()));
+                       eventBus.post(new DownloadFinished(download));
                } catch (IOException ioe1) {
                        /* TODO - handle all the errors. */
                        logger.log(Level.WARNING, String.format("Could not move file %s to directory %s.", download.filename(), finalDirectory), ioe1);