Bläddra i källkod

Run on-bt-download-complete command when -V reports download finished

See GH-355
Tatsuhiro Tsujikawa 10 år sedan
förälder
incheckning
b324be70ad
1 ändrade filer med 10 tillägg och 2 borttagningar
  1. 10 2
      src/BtCheckIntegrityEntry.cc

+ 10 - 2
src/BtCheckIntegrityEntry.cc

@@ -40,6 +40,9 @@
 #include "DiskAdaptor.h"
 #include "prefs.h"
 #include "Option.h"
+#include "util.h"
+#include "SingletonHolder.h"
+#include "Notifier.h"
 
 namespace aria2 {
 
@@ -72,12 +75,17 @@ void BtCheckIntegrityEntry::onDownloadIncomplete
 void BtCheckIntegrityEntry::onDownloadFinished
 (std::vector<std::unique_ptr<Command>>& commands, DownloadEngine* e)
 {
+  auto group = getRequestGroup();
+  const auto& option = group->getOption();
+  util::executeHookByOptName(group, option.get(), PREF_ON_BT_DOWNLOAD_COMPLETE);
+  SingletonHolder<Notifier>::instance()->notifyDownloadEvent
+    (EVENT_ON_BT_DOWNLOAD_COMPLETE, group);
   // TODO Currently,when all the checksums
   // are valid, then aria2 goes to seeding mode. Sometimes it is better
   // to exit rather than doing seeding. So, it would be good to toggle this
   // behavior.
-  if(!getRequestGroup()->getOption()->getAsBool(PREF_HASH_CHECK_ONLY) &&
-     getRequestGroup()->getOption()->getAsBool(PREF_BT_HASH_CHECK_SEED)) {
+  if(!option->getAsBool(PREF_HASH_CHECK_ONLY) &&
+     option->getAsBool(PREF_BT_HASH_CHECK_SEED)) {
     proceedFileAllocation(commands,
                           make_unique<BtFileAllocationEntry>
                           (getRequestGroup()),