/* */ #include "BtRegistry.h" #include "DlAbortEx.h" PeerStorageMap BtRegistry::peerStorageMap; PieceStorageMap BtRegistry::pieceStorageMap; BtAnnounceMap BtRegistry::btAnnounceMap; BtRuntimeMap BtRegistry::btRuntimeMap; BtProgressInfoFileMap BtRegistry::btProgressInfoFileMap; PeerObjectClusterRegistry BtRegistry::peerObjectClusterRegistry; PeerStorageHandle BtRegistry::getPeerStorage(const string& key) { PeerStorageMap::iterator itr = peerStorageMap.find(key); if(itr == peerStorageMap.end()) { return PeerStorageHandle(0); } else { return itr->second; } } bool BtRegistry::registerPeerStorage(const string& key, const PeerStorageHandle& peerStorage) { PeerStorageMap::value_type p(key, peerStorage); pair retval = peerStorageMap.insert(p); return retval.second; } PieceStorageHandle BtRegistry::getPieceStorage(const string& key) { PieceStorageMap::iterator itr = pieceStorageMap.find(key); if(itr == pieceStorageMap.end()) { return PieceStorageHandle(0); } else { return itr->second; } } bool BtRegistry::registerPieceStorage(const string& key, const PieceStorageHandle& pieceStorage) { pieceStorageMap.erase(key); PieceStorageMap::value_type p(key, pieceStorage); pair retval = pieceStorageMap.insert(p); return retval.second; } BtRuntimeHandle BtRegistry::getBtRuntime(const string& key) { BtRuntimeMap::iterator itr = btRuntimeMap.find(key); if(itr == btRuntimeMap.end()) { return BtRuntimeHandle(0); } else { return itr->second; } } bool BtRegistry::registerBtRuntime(const string& key, const BtRuntimeHandle& btRuntime) { BtRuntimeMap::value_type p(key, btRuntime); pair retval = btRuntimeMap.insert(p); return retval.second; } BtAnnounceHandle BtRegistry::getBtAnnounce(const string& key) { BtAnnounceMap::iterator itr = btAnnounceMap.find(key); if(itr == btAnnounceMap.end()) { return BtAnnounceHandle(0); } else { return itr->second; } } bool BtRegistry::registerBtAnnounce(const string& key, const BtAnnounceHandle& btAnnounce) { BtAnnounceMap::value_type p(key, btAnnounce); pair retval = btAnnounceMap.insert(p); return retval.second; } BtProgressInfoFileHandle BtRegistry::getBtProgressInfoFile(const string& key) { BtProgressInfoFileMap::iterator itr = btProgressInfoFileMap.find(key); if(itr == btProgressInfoFileMap.end()) { return BtProgressInfoFileHandle(0); } else { return itr->second; } } bool BtRegistry::registerBtProgressInfoFile(const string& key, const BtProgressInfoFileHandle& btProgressInfoFile) { BtProgressInfoFileMap::value_type p(key, btProgressInfoFile); pair retval = btProgressInfoFileMap.insert(p); return retval.second; } PeerObjectClusterHandle BtRegistry::getPeerObjectCluster(const string& key) { return peerObjectClusterRegistry.getHandle(key); } void BtRegistry::registerPeerObjectCluster(const string& key, const PeerObjectClusterHandle& cluster) { peerObjectClusterRegistry.registerHandle(key, cluster); } void BtRegistry::unregisterPeerObjectCluster(const string& key) { peerObjectClusterRegistry.unregisterHandle(key); } void BtRegistry::clear() { peerStorageMap.clear(); pieceStorageMap.clear(); btAnnounceMap.clear(); btRuntimeMap.clear(); btProgressInfoFileMap.clear(); peerObjectClusterRegistry.clear(); }