make session inherit from session_handle and remove wrapper functions
This commit is contained in:
parent
b072b0ca5f
commit
1d55bcba72
File diff suppressed because it is too large
Load Diff
|
@ -42,7 +42,6 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
#include "libtorrent/peer_class.hpp"
|
#include "libtorrent/peer_class.hpp"
|
||||||
#include "libtorrent/peer_class_type_filter.hpp"
|
#include "libtorrent/peer_class_type_filter.hpp"
|
||||||
#include "libtorrent/session_settings.hpp"
|
#include "libtorrent/session_settings.hpp"
|
||||||
#include "libtorrent/session.hpp"
|
|
||||||
|
|
||||||
#ifndef TORRENT_NO_DEPRECATE
|
#ifndef TORRENT_NO_DEPRECATE
|
||||||
#include "libtorrent/rss.hpp"
|
#include "libtorrent/rss.hpp"
|
||||||
|
@ -50,6 +49,21 @@ POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
namespace libtorrent
|
namespace libtorrent
|
||||||
{
|
{
|
||||||
|
struct plugin;
|
||||||
|
struct torrent_plugin;
|
||||||
|
class torrent;
|
||||||
|
struct ip_filter;
|
||||||
|
class port_filter;
|
||||||
|
class connection_queue;
|
||||||
|
class alert;
|
||||||
|
|
||||||
|
#ifndef TORRENT_NO_DEPRECATE
|
||||||
|
struct session_status;
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef boost::function<void(sha1_hash const&, std::vector<char>&
|
||||||
|
, error_code&)> user_load_function_t;
|
||||||
|
|
||||||
struct TORRENT_EXPORT session_handle
|
struct TORRENT_EXPORT session_handle
|
||||||
{
|
{
|
||||||
session_handle(aux::session_impl* impl)
|
session_handle(aux::session_impl* impl)
|
||||||
|
@ -58,6 +72,39 @@ namespace libtorrent
|
||||||
|
|
||||||
// TODO: 2 the ip filter should probably be saved here too
|
// TODO: 2 the ip filter should probably be saved here too
|
||||||
|
|
||||||
|
// flags that determines which aspects of the session should be
|
||||||
|
// saved when calling save_state().
|
||||||
|
enum save_state_flags_t
|
||||||
|
{
|
||||||
|
// saves settings (i.e. the session_settings)
|
||||||
|
save_settings = 0x001,
|
||||||
|
|
||||||
|
// saves dht_settings
|
||||||
|
save_dht_settings = 0x002,
|
||||||
|
|
||||||
|
// saves dht state such as nodes and node-id, possibly accelerating
|
||||||
|
// joining the DHT if provided at next session startup.
|
||||||
|
save_dht_state = 0x004,
|
||||||
|
|
||||||
|
// save pe_settings
|
||||||
|
save_encryption_settings = 0x020,
|
||||||
|
|
||||||
|
// internal
|
||||||
|
save_as_map = 0x040
|
||||||
|
|
||||||
|
#ifndef TORRENT_NO_DEPRECATE
|
||||||
|
,
|
||||||
|
// saves RSS feeds
|
||||||
|
save_feeds = 0x080,
|
||||||
|
save_proxy = 0x008,
|
||||||
|
save_i2p_proxy = 0x010,
|
||||||
|
save_dht_proxy = save_proxy,
|
||||||
|
save_peer_proxy = save_proxy,
|
||||||
|
save_web_proxy = save_proxy,
|
||||||
|
save_tracker_proxy = save_proxy
|
||||||
|
#endif
|
||||||
|
};
|
||||||
|
|
||||||
// loads and saves all session settings, including dht_settings,
|
// loads and saves all session settings, including dht_settings,
|
||||||
// encryption settings and proxy settings. ``save_state`` writes all keys
|
// encryption settings and proxy settings. ``save_state`` writes all keys
|
||||||
// to the ``entry`` that's passed in, which needs to either not be
|
// to the ``entry`` that's passed in, which needs to either not be
|
||||||
|
@ -247,6 +294,8 @@ namespace libtorrent
|
||||||
cache_status get_cache_status() const;
|
cache_status get_cache_status() const;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
enum { disk_cache_no_pieces = 1 };
|
||||||
|
|
||||||
// Fills in the cache_status struct with information about the given torrent.
|
// Fills in the cache_status struct with information about the given torrent.
|
||||||
// If ``flags`` is ``session::disk_cache_no_pieces`` the ``cache_status::pieces`` field
|
// If ``flags`` is ``session::disk_cache_no_pieces`` the ``cache_status::pieces`` field
|
||||||
// will not be set. This may significantly reduce the cost of this call.
|
// will not be set. This may significantly reduce the cost of this call.
|
||||||
|
@ -508,6 +557,13 @@ namespace libtorrent
|
||||||
// peer potentially across you changing your IP.
|
// peer potentially across you changing your IP.
|
||||||
void set_key(int key);
|
void set_key(int key);
|
||||||
|
|
||||||
|
// built-in peer classes
|
||||||
|
enum {
|
||||||
|
global_peer_class_id,
|
||||||
|
tcp_peer_class_id,
|
||||||
|
local_peer_class_id
|
||||||
|
};
|
||||||
|
|
||||||
// ``is_listening()`` will tell you whether or not the session has
|
// ``is_listening()`` will tell you whether or not the session has
|
||||||
// successfully opened a listening port. If it hasn't, this function will
|
// successfully opened a listening port. If it hasn't, this function will
|
||||||
// return false, and then you can set a new
|
// return false, and then you can set a new
|
||||||
|
@ -653,6 +709,12 @@ namespace libtorrent
|
||||||
// interface and port range). As usual, if the interface is left as 0
|
// interface and port range). As usual, if the interface is left as 0
|
||||||
// this function will return false on failure. If it fails, it will also
|
// this function will return false on failure. If it fails, it will also
|
||||||
// generate alerts describing the error. It will return true on success.
|
// generate alerts describing the error. It will return true on success.
|
||||||
|
enum listen_on_flags_t
|
||||||
|
{
|
||||||
|
// this is always on starting with 0.16.2
|
||||||
|
listen_reuse_address = 0x01,
|
||||||
|
listen_no_system_port = 0x02
|
||||||
|
};
|
||||||
|
|
||||||
// deprecated in 0.16
|
// deprecated in 0.16
|
||||||
|
|
||||||
|
@ -671,6 +733,25 @@ namespace libtorrent
|
||||||
, int flags = 0);
|
, int flags = 0);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// flags to be passed in to remove_torrent().
|
||||||
|
enum options_t
|
||||||
|
{
|
||||||
|
// delete the files belonging to the torrent from disk.
|
||||||
|
delete_files = 1
|
||||||
|
};
|
||||||
|
|
||||||
|
// flags to be passed in to the session constructor
|
||||||
|
enum session_flags_t
|
||||||
|
{
|
||||||
|
// this will add common extensions like ut_pex, ut_metadata, lt_tex
|
||||||
|
// smart_ban and possibly others.
|
||||||
|
add_default_plugins = 1,
|
||||||
|
|
||||||
|
// this will start features like DHT, local service discovery, UPnP
|
||||||
|
// and NAT-PMP.
|
||||||
|
start_default_features = 2
|
||||||
|
};
|
||||||
|
|
||||||
// ``remove_torrent()`` will close all peer connections associated with
|
// ``remove_torrent()`` will close all peer connections associated with
|
||||||
// the torrent and tell the tracker that we've stopped participating in
|
// the torrent and tell the tracker that we've stopped participating in
|
||||||
// the swarm. This operation cannot fail. When it completes, you will
|
// the swarm. This operation cannot fail. When it completes, you will
|
||||||
|
@ -932,11 +1013,14 @@ namespace libtorrent
|
||||||
void stop_natpmp();
|
void stop_natpmp();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
// protocols used by add_port_mapping()
|
||||||
|
enum protocol_type { udp = 1, tcp = 2 };
|
||||||
|
|
||||||
// add_port_mapping adds a port forwarding on UPnP and/or NAT-PMP,
|
// add_port_mapping adds a port forwarding on UPnP and/or NAT-PMP,
|
||||||
// whichever is enabled. The return value is a handle referring to the
|
// whichever is enabled. The return value is a handle referring to the
|
||||||
// port mapping that was just created. Pass it to delete_port_mapping()
|
// port mapping that was just created. Pass it to delete_port_mapping()
|
||||||
// to remove it.
|
// to remove it.
|
||||||
int add_port_mapping(session::protocol_type t, int external_port, int local_port);
|
int add_port_mapping(protocol_type t, int external_port, int local_port);
|
||||||
void delete_port_mapping(int handle);
|
void delete_port_mapping(int handle);
|
||||||
|
|
||||||
// This function is intended only for use by plugins. This type does
|
// This function is intended only for use by plugins. This type does
|
||||||
|
|
638
src/session.cpp
638
src/session.cpp
|
@ -373,6 +373,7 @@ namespace libtorrent
|
||||||
}
|
}
|
||||||
|
|
||||||
m_impl = boost::make_shared<session_impl>(boost::ref(*ios));
|
m_impl = boost::make_shared<session_impl>(boost::ref(*ios));
|
||||||
|
*static_cast<session_handle*>(this) = session_handle(m_impl.get());
|
||||||
|
|
||||||
#ifndef TORRENT_DISABLE_EXTENSIONS
|
#ifndef TORRENT_DISABLE_EXTENSIONS
|
||||||
if (flags & add_default_plugins)
|
if (flags & add_default_plugins)
|
||||||
|
@ -404,643 +405,6 @@ namespace libtorrent
|
||||||
m_thread->join();
|
m_thread->join();
|
||||||
}
|
}
|
||||||
|
|
||||||
void session::save_state(entry& e, boost::uint32_t flags) const
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).save_state(e, flags);
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::load_state(bdecode_node const& e)
|
|
||||||
{
|
|
||||||
// this needs to be synchronized since the lifespan
|
|
||||||
// of e is tied to the caller
|
|
||||||
session_handle(m_impl.get()).load_state(e);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifndef TORRENT_NO_DEPRECATE
|
|
||||||
feed_handle session::add_feed(feed_settings const& feed)
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).add_feed(feed);
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::remove_feed(feed_handle h)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).remove_feed(h);
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::get_feeds(std::vector<feed_handle>& f) const
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).get_feeds(f);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void session::set_load_function(user_load_function_t fun)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).set_load_function(fun);
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::add_extension(boost::function<boost::shared_ptr<torrent_plugin>(torrent*, void*)> ext)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).add_extension(ext);
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::add_extension(boost::shared_ptr<plugin> ext)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).add_extension(ext);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifndef TORRENT_NO_DEPRECATE
|
|
||||||
void session::load_asnum_db(char const*) {}
|
|
||||||
void session::load_country_db(char const*) {}
|
|
||||||
|
|
||||||
int session::as_for_ip(address const&)
|
|
||||||
{ return 0; }
|
|
||||||
|
|
||||||
#if TORRENT_USE_WSTRING
|
|
||||||
void session::load_asnum_db(wchar_t const*) {}
|
|
||||||
void session::load_country_db(wchar_t const*) {}
|
|
||||||
#endif // TORRENT_USE_WSTRING
|
|
||||||
|
|
||||||
void session::load_state(entry const& ses_state)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).load_state(ses_state);
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::load_state(lazy_entry const& ses_state)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).load_state(ses_state);
|
|
||||||
}
|
|
||||||
|
|
||||||
entry session::state() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).state();
|
|
||||||
}
|
|
||||||
#endif // TORRENT_NO_DEPRECATE
|
|
||||||
|
|
||||||
void session::set_ip_filter(ip_filter const& f)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).set_ip_filter(f);
|
|
||||||
}
|
|
||||||
|
|
||||||
ip_filter session::get_ip_filter() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).get_ip_filter();
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::set_port_filter(port_filter const& f)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).set_port_filter(f);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifndef TORRENT_NO_DEPRECATE
|
|
||||||
void session::set_peer_id(peer_id const& id)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).set_peer_id(id);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
peer_id session::id() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).id();
|
|
||||||
}
|
|
||||||
|
|
||||||
io_service& session::get_io_service()
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).get_io_service();
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::set_key(int key)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).set_key(key);
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::get_torrent_status(std::vector<torrent_status>* ret
|
|
||||||
, boost::function<bool(torrent_status const&)> const& pred
|
|
||||||
, boost::uint32_t flags) const
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).get_torrent_status(ret, pred, flags);
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::refresh_torrent_status(std::vector<torrent_status>* ret
|
|
||||||
, boost::uint32_t flags) const
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).refresh_torrent_status(ret, flags);
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::post_torrent_updates(boost::uint32_t flags)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).post_torrent_updates(flags);
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::post_session_stats()
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).post_session_stats();
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::post_dht_stats()
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).post_dht_stats();
|
|
||||||
}
|
|
||||||
|
|
||||||
std::vector<torrent_handle> session::get_torrents() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).get_torrents();
|
|
||||||
}
|
|
||||||
|
|
||||||
torrent_handle session::find_torrent(sha1_hash const& info_hash) const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).find_torrent(info_hash);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifndef BOOST_NO_EXCEPTIONS
|
|
||||||
torrent_handle session::add_torrent(add_torrent_params const& params)
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).add_torrent(params);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
torrent_handle session::add_torrent(add_torrent_params const& params, error_code& ec)
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).add_torrent(params, ec);
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::async_add_torrent(add_torrent_params const& params)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).async_add_torrent(params);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifndef BOOST_NO_EXCEPTIONS
|
|
||||||
#ifndef TORRENT_NO_DEPRECATE
|
|
||||||
// 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)
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).add_torrent(ti, save_path
|
|
||||||
, resume_data, storage_mode, paused, sc);
|
|
||||||
}
|
|
||||||
|
|
||||||
torrent_handle session::add_torrent(
|
|
||||||
char const* tracker_url
|
|
||||||
, sha1_hash const& info_hash
|
|
||||||
, char const* name
|
|
||||||
, std::string const& save_path
|
|
||||||
, entry const& resume_data
|
|
||||||
, storage_mode_t storage_mode
|
|
||||||
, bool paused
|
|
||||||
, storage_constructor_type sc
|
|
||||||
, void* userdata)
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).add_torrent(tracker_url, info_hash
|
|
||||||
, name, save_path, resume_data, storage_mode, paused, sc, userdata);
|
|
||||||
}
|
|
||||||
#endif // TORRENT_NO_DEPRECATE
|
|
||||||
#endif // BOOST_NO_EXCEPTIONS
|
|
||||||
|
|
||||||
void session::remove_torrent(const torrent_handle& h, int options)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).remove_torrent(h, options);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifndef TORRENT_NO_DEPRECATE
|
|
||||||
void session::listen_on(
|
|
||||||
std::pair<int, int> const& port_range
|
|
||||||
, error_code& ec
|
|
||||||
, const char* net_interface, int flags)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).listen_on(port_range, ec, net_interface, flags);
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::use_interfaces(char const* interfaces)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).use_interfaces(interfaces);
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
unsigned short session::listen_port() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).listen_port();
|
|
||||||
}
|
|
||||||
|
|
||||||
unsigned short session::ssl_listen_port() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).ssl_listen_port();
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::pause()
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).pause();
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::resume()
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).resume();
|
|
||||||
}
|
|
||||||
|
|
||||||
bool session::is_paused() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).is_paused();
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifndef TORRENT_NO_DEPRECATE
|
|
||||||
session_status session::status() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).status();
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::get_cache_info(sha1_hash const& ih
|
|
||||||
, std::vector<cached_piece_info>& ret) const
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).get_cache_info(ih, ret);
|
|
||||||
}
|
|
||||||
|
|
||||||
cache_status session::get_cache_status() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).get_cache_status();
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void session::get_cache_info(cache_status* ret
|
|
||||||
, torrent_handle h, int flags) const
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).get_cache_info(ret, h, flags);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifndef TORRENT_NO_DEPRECATE
|
|
||||||
void session::start_dht()
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).start_dht();
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::stop_dht()
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).stop_dht();
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void session::set_dht_settings(dht_settings const& settings)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).set_dht_settings(settings);
|
|
||||||
}
|
|
||||||
|
|
||||||
dht_settings session::get_dht_settings() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).get_dht_settings();
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#ifndef TORRENT_NO_DEPRECATE
|
|
||||||
void session::start_dht(entry const& startup_state)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).start_dht(startup_state);
|
|
||||||
}
|
|
||||||
|
|
||||||
entry session::dht_state() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).dht_state();
|
|
||||||
}
|
|
||||||
#endif // TORRENT_NO_DEPRECATE
|
|
||||||
|
|
||||||
void session::add_dht_node(std::pair<std::string, int> const& node)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).add_dht_node(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::add_dht_router(std::pair<std::string, int> const& node)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).add_dht_router(node);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool session::is_dht_running() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).is_dht_running();
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::dht_get_item(sha1_hash const& target)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).dht_get_item(target);
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::dht_get_item(boost::array<char, 32> key
|
|
||||||
, std::string salt)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).dht_get_item(key, salt);
|
|
||||||
}
|
|
||||||
|
|
||||||
sha1_hash session::dht_put_item(entry data)
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).dht_put_item(data);
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::dht_put_item(boost::array<char, 32> key
|
|
||||||
, boost::function<void(entry&, boost::array<char,64>&
|
|
||||||
, boost::uint64_t&, std::string const&)> cb
|
|
||||||
, std::string salt)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).dht_put_item(key, cb, salt);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifndef TORRENT_NO_DEPRECATE
|
|
||||||
void session::set_pe_settings(pe_settings const& r)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).set_pe_settings(r);
|
|
||||||
}
|
|
||||||
|
|
||||||
pe_settings session::get_pe_settings() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).get_pe_settings();
|
|
||||||
}
|
|
||||||
#endif // TORRENT_NO_DEPRECATE
|
|
||||||
|
|
||||||
void session::set_peer_class_filter(ip_filter const& f)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).set_peer_class_filter(f);
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::set_peer_class_type_filter(peer_class_type_filter const& f)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).set_peer_class_type_filter(f);
|
|
||||||
}
|
|
||||||
|
|
||||||
int session::create_peer_class(char const* name)
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).create_peer_class(name);
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::delete_peer_class(int cid)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).delete_peer_class(cid);
|
|
||||||
}
|
|
||||||
|
|
||||||
peer_class_info session::get_peer_class(int cid)
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).get_peer_class(cid);
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::set_peer_class(int cid, peer_class_info const& pci)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).set_peer_class(cid, pci);
|
|
||||||
}
|
|
||||||
|
|
||||||
bool session::is_listening() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).is_listening();
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifndef TORRENT_NO_DEPRECATE
|
|
||||||
void session::set_settings(session_settings const& s)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).set_settings(s);
|
|
||||||
}
|
|
||||||
|
|
||||||
session_settings session::settings() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).settings();
|
|
||||||
}
|
|
||||||
#endif
|
|
||||||
|
|
||||||
void session::apply_settings(settings_pack const& s)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).apply_settings(s);
|
|
||||||
}
|
|
||||||
|
|
||||||
settings_pack session::get_settings() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).get_settings();
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifndef TORRENT_NO_DEPRECATE
|
|
||||||
|
|
||||||
void session::set_proxy(proxy_settings const& s)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).set_proxy(s);
|
|
||||||
}
|
|
||||||
|
|
||||||
proxy_settings session::proxy() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).proxy();
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::set_peer_proxy(proxy_settings const& s)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).set_peer_proxy(s);
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::set_web_seed_proxy(proxy_settings const& s)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).set_web_seed_proxy(s);
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::set_tracker_proxy(proxy_settings const& s)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).set_tracker_proxy(s);
|
|
||||||
}
|
|
||||||
|
|
||||||
proxy_settings session::peer_proxy() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).peer_proxy();
|
|
||||||
}
|
|
||||||
|
|
||||||
proxy_settings session::web_seed_proxy() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).web_seed_proxy();
|
|
||||||
}
|
|
||||||
|
|
||||||
proxy_settings session::tracker_proxy() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).tracker_proxy();
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::set_dht_proxy(proxy_settings const& s)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).set_dht_proxy(s);
|
|
||||||
}
|
|
||||||
|
|
||||||
proxy_settings session::dht_proxy() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).dht_proxy();
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::set_i2p_proxy(proxy_settings const& s)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).set_i2p_proxy(s);
|
|
||||||
}
|
|
||||||
|
|
||||||
proxy_settings session::i2p_proxy() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).i2p_proxy();
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::set_max_half_open_connections(int) {}
|
|
||||||
int session::max_half_open_connections() const { return 8; }
|
|
||||||
|
|
||||||
int session::max_uploads() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).max_uploads();
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::set_max_uploads(int limit)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).set_max_uploads(limit);
|
|
||||||
}
|
|
||||||
|
|
||||||
int session::max_connections() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).max_connections();
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::set_max_connections(int limit)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).set_max_connections(limit);
|
|
||||||
}
|
|
||||||
|
|
||||||
int session::local_upload_rate_limit() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).local_upload_rate_limit();
|
|
||||||
}
|
|
||||||
|
|
||||||
int session::local_download_rate_limit() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).local_download_rate_limit();
|
|
||||||
}
|
|
||||||
|
|
||||||
int session::upload_rate_limit() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).upload_rate_limit();
|
|
||||||
}
|
|
||||||
|
|
||||||
int session::download_rate_limit() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).download_rate_limit();
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::set_local_upload_rate_limit(int bytes_per_second)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).set_local_upload_rate_limit(bytes_per_second);
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::set_local_download_rate_limit(int bytes_per_second)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).set_local_download_rate_limit(bytes_per_second);
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::set_upload_rate_limit(int bytes_per_second)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).set_upload_rate_limit(bytes_per_second);
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::set_download_rate_limit(int bytes_per_second)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).set_download_rate_limit(bytes_per_second);
|
|
||||||
}
|
|
||||||
|
|
||||||
int session::num_uploads() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).num_uploads();
|
|
||||||
}
|
|
||||||
|
|
||||||
int session::num_connections() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).num_connections();
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::set_alert_dispatch(boost::function<void(std::auto_ptr<alert>)> const& fun)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).set_alert_dispatch(fun);
|
|
||||||
}
|
|
||||||
#endif // TORRENT_NO_DEPRECATE
|
|
||||||
|
|
||||||
alert* session::wait_for_alert(time_duration max_wait)
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).wait_for_alert(max_wait);
|
|
||||||
}
|
|
||||||
|
|
||||||
// the alerts are const, they may not be deleted by the client
|
|
||||||
void session::pop_alerts(std::vector<alert*>* alerts)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).pop_alerts(alerts);
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::set_alert_notify(boost::function<void()> const& fun)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).set_alert_notify(fun);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifndef TORRENT_NO_DEPRECATE
|
|
||||||
void session::pop_alerts(std::deque<alert*>* alerts)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).pop_alerts(alerts);
|
|
||||||
}
|
|
||||||
|
|
||||||
std::auto_ptr<alert> session::pop_alert()
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).pop_alert();
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::set_alert_mask(boost::uint32_t m)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).set_alert_mask(m);
|
|
||||||
}
|
|
||||||
|
|
||||||
boost::uint32_t session::get_alert_mask() const
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).get_alert_mask();
|
|
||||||
}
|
|
||||||
|
|
||||||
size_t session::set_alert_queue_size_limit(size_t queue_size_limit_)
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).set_alert_queue_size_limit(queue_size_limit_);
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::set_severity_level(alert::severity_t s)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).set_severity_level(s);
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::start_lsd()
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).start_lsd();
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::start_natpmp()
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).start_natpmp();
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::start_upnp()
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).start_upnp();
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::stop_lsd()
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).stop_lsd();
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::stop_natpmp()
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).stop_natpmp();
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::stop_upnp()
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).stop_upnp();
|
|
||||||
}
|
|
||||||
#endif // TORRENT_NO_DEPRECATED
|
|
||||||
|
|
||||||
int session::add_port_mapping(protocol_type t, int external_port, int local_port)
|
|
||||||
{
|
|
||||||
return session_handle(m_impl.get()).add_port_mapping(t, external_port, local_port);
|
|
||||||
}
|
|
||||||
|
|
||||||
void session::delete_port_mapping(int handle)
|
|
||||||
{
|
|
||||||
session_handle(m_impl.get()).delete_port_mapping(handle);
|
|
||||||
}
|
|
||||||
|
|
||||||
#ifndef TORRENT_NO_DEPRECATE
|
#ifndef TORRENT_NO_DEPRECATE
|
||||||
session_settings::session_settings(std::string const& user_agent_)
|
session_settings::session_settings(std::string const& user_agent_)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue