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()),