/* */ #include "ExtensionMessageRegistry.h" #include "BtConstants.h" #include "A2STR.h" namespace aria2 { ExtensionMessageRegistry::ExtensionMessageRegistry() { extensions_["ut_pex"] = 8; // http://www.bittorrent.org/beps/bep_0009.html extensions_["ut_metadata"] = 9; } ExtensionMessageRegistry::~ExtensionMessageRegistry() {} uint8_t ExtensionMessageRegistry::getExtensionMessageID (const std::string& name) const { Extensions::const_iterator itr = extensions_.find(name); if(itr == extensions_.end()) { return 0; } else { return (*itr).second; } } const std::string& ExtensionMessageRegistry::getExtensionName(uint8_t id) const { for(Extensions::const_iterator itr = extensions_.begin(), eoi = extensions_.end(); itr != eoi; ++itr) { const Extensions::value_type& p = *itr; if(p.second == id) { return p.first; } } return A2STR::NIL; } void ExtensionMessageRegistry::removeExtension(const std::string& name) { extensions_.erase(name); } } // namespace aria2