torrent_handle session::add_torrent( char const* tracker_url , sha1_hash const& info_hash , char const* name , std::string const& save_path , entry const& e , storage_mode_t storage_mode , bool paused , storage_constructor_type sc , void* userdata) { add_torrent_params p(sc); p.tracker_url = tracker_url; p.info_hash = info_hash; p.save_path = save_path; p.paused = paused; p.userdata = userdata; return add_torrent(p); }
// if the torrent already exists, this will throw duplicate_torrent torrent_handle session::add_torrent( torrent_info const& ti , std::string const& save_path , entry const& resume_data , storage_mode_t storage_mode , bool paused , storage_constructor_type sc) { boost::intrusive_ptr<torrent_info> tip(new torrent_info(ti)); add_torrent_params p(sc); p.ti = tip; p.save_path = save_path; if (resume_data.type() != entry::undefined_t) { bencode(std::back_inserter(p.resume_data), resume_data); } p.storage_mode = storage_mode; p.paused = paused; return add_torrent(p); }
torrent_handle session::add_torrent( boost::intrusive_ptr<torrent_info> ti , std::string const& save_path , entry const& resume_data , storage_mode_t storage_mode , bool paused , storage_constructor_type sc , void* userdata) { add_torrent_params p(sc); p.ti = ti; p.save_path = save_path; std::vector<char> buf; if (resume_data.type() != entry::undefined_t) { bencode(std::back_inserter(buf), resume_data); p.resume_data = &buf; } p.storage_mode = storage_mode; p.paused = paused; p.userdata = userdata; return add_torrent(p); }
BTStream::BTStream(const std::string& torrent_path, PiecePicker* piece_picker, const std::string& save_path) : m_video_torrent_manager(new VideoTorrentManager) { add_torrent(torrent_path, piece_picker, save_path); }
BTStream::BTStream(const std::string& torrent_path, const std::string& save_path, Algorithm algorithm, int stream_length) : m_video_torrent_manager(new VideoTorrentManager) { add_torrent(torrent_path, save_path, algorithm, stream_length); }