torrent_alert::torrent_alert(aux::stack_allocator& alloc , torrent_handle const& h) : handle(h) , m_alloc(alloc) { std::string name_str; if (h.native_handle()) { m_name_idx = alloc.copy_string(h.native_handle()->name()); } else if (h.is_valid()) { char msg[41]; to_hex(h.native_handle()->info_hash().data(), 20, msg); m_name_idx = alloc.copy_string(msg); } else { m_name_idx = alloc.copy_string(""); } #ifndef TORRENT_NO_DEPRECATE name = torrent_name(); #endif }
torrent_alert::torrent_alert(aux::stack_allocator& alloc , torrent_handle const& h) : handle(h) , m_alloc(alloc) { boost::shared_ptr<torrent> t = h.native_handle(); if (t) { std::string name_str = t->name(); if (!name_str.empty()) { m_name_idx = alloc.copy_string(name_str); } else { char msg[41]; to_hex(t->info_hash().data(), 20, msg); m_name_idx = alloc.copy_string(msg); } } else { m_name_idx = alloc.copy_string(""); } #ifndef TORRENT_NO_DEPRECATE name = torrent_name(); #endif }
boost::shared_ptr<torrent_plugin> create_ut_pex_plugin(torrent_handle const& th, void*) { torrent* t = th.native_handle().get(); if (t->torrent_file().priv() || (t->torrent_file().is_i2p() && !t->settings().get_bool(settings_pack::allow_i2p_mixed))) { return boost::shared_ptr<torrent_plugin>(); } return boost::shared_ptr<torrent_plugin>(new ut_pex_plugin(*t)); }