/* */ #include "BtRegistry.h" #include "DlAbortEx.h" #include "DownloadContext.h" #include "PeerStorage.h" #include "PieceStorage.h" #include "BtAnnounce.h" #include "BtRuntime.h" #include "BtProgressInfoFile.h" namespace aria2 { SharedHandle BtRegistry::getDownloadContext(const std::string& infoHash) const { return get(infoHash)._downloadContext; } void BtRegistry::put(const std::string& infoHash, const BtObject& obj) { remove(infoHash); std::map::value_type p(infoHash, obj); _pool.insert(p); } BtObject BtRegistry::get(const std::string& infoHash) const { std::map::const_iterator i = _pool.find(infoHash); if(i == _pool.end()) { return BtObject(); } else { return (*i).second; } } bool BtRegistry::remove(const std::string& infoHash) { return _pool.erase(infoHash); } void BtRegistry::removeAll() { _pool.clear(); } } // namespace aria2