From b324be70ad452b499b9afdd3f604eeb3a7328b57 Mon Sep 17 00:00:00 2001 From: Tatsuhiro Tsujikawa Date: Sun, 22 Mar 2015 17:58:13 +0900 Subject: [PATCH] Run on-bt-download-complete command when -V reports download finished See GH-355 --- src/BtCheckIntegrityEntry.cc | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/BtCheckIntegrityEntry.cc b/src/BtCheckIntegrityEntry.cc index 6accc0db..b25c4462 100644 --- a/src/BtCheckIntegrityEntry.cc +++ b/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>& commands, DownloadEngine* e) { + auto group = getRequestGroup(); + const auto& option = group->getOption(); + util::executeHookByOptName(group, option.get(), PREF_ON_BT_DOWNLOAD_COMPLETE); + SingletonHolder::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 (getRequestGroup()),