// Copyright Daniel Wallin 2006. Use, modification and distribution is // subject to the Boost Software License, Version 1.0. (See accompanying // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) #include "boost_python.hpp" #include using namespace boost::python; using namespace lt; void bind_session_settings() { enum_("choking_algorithm_t") .value("fixed_slots_choker", settings_pack::fixed_slots_choker) #if TORRENT_ABI_VERSION == 1 .value("auto_expand_choker", settings_pack::rate_based_choker) #endif .value("rate_based_choker", settings_pack::rate_based_choker) .value("bittyrant_choker", settings_pack::bittyrant_choker) ; enum_("seed_choking_algorithm_t") .value("round_robin", settings_pack::round_robin) .value("fastest_upload", settings_pack::fastest_upload) .value("anti_leech", settings_pack::anti_leech) ; enum_("suggest_mode_t") .value("no_piece_suggestions", settings_pack::no_piece_suggestions) .value("suggest_read_cache", settings_pack::suggest_read_cache) ; enum_("io_buffer_mode_t") .value("enable_os_cache", settings_pack::enable_os_cache) #if TORRENT_ABI_VERSION == 1 .value("disable_os_cache_for_aligned_files", settings_pack::disable_os_cache_for_aligned_files) #endif .value("disable_os_cache", settings_pack::disable_os_cache) ; enum_("bandwidth_mixed_algo_t") .value("prefer_tcp", settings_pack::prefer_tcp) .value("peer_proportional", settings_pack::peer_proportional) ; enum_("enc_policy") .value("pe_forced", settings_pack::pe_forced) .value("pe_enabled", settings_pack::pe_enabled) .value("pe_disabled", settings_pack::pe_disabled) #if TORRENT_ABI_VERSION == 1 .value("forced", settings_pack::pe_forced) .value("enabled", settings_pack::pe_enabled) .value("disabled", settings_pack::pe_disabled) #endif ; enum_("enc_level") .value("pe_rc4", settings_pack::pe_rc4) .value("pe_plaintext", settings_pack::pe_plaintext) .value("pe_both", settings_pack::pe_both) #if TORRENT_ABI_VERSION == 1 .value("rc4", settings_pack::pe_rc4) .value("plaintext", settings_pack::pe_plaintext) .value("both", settings_pack::pe_both) #endif ; enum_("proxy_type_t") .value("none", settings_pack::none) .value("socks4", settings_pack::socks4) .value("socks5", settings_pack::socks5) .value("socks5_pw", settings_pack::socks5_pw) .value("http", settings_pack::http) .value("http_pw", settings_pack::http_pw) .value("i2p_proxy", settings_pack::i2p_proxy) ; #if TORRENT_ABI_VERSION == 1 enum_("proxy_type") .value("none", proxy_settings::none) .value("socks4", proxy_settings::socks4) .value("socks5", proxy_settings::socks5) .value("socks5_pw", proxy_settings::socks5_pw) .value("http", proxy_settings::http) .value("http_pw", proxy_settings::http_pw) .value("i2p_proxy", proxy_settings::i2p_proxy) ; class_("proxy_settings") .def_readwrite("hostname", &proxy_settings::hostname) .def_readwrite("port", &proxy_settings::port) .def_readwrite("password", &proxy_settings::password) .def_readwrite("username", &proxy_settings::username) .def_readwrite("type", &proxy_settings::type) .def_readwrite("proxy_peer_connections", &proxy_settings::proxy_peer_connections) .def_readwrite("proxy_hostnames", &proxy_settings::proxy_hostnames) ; #endif #ifndef TORRENT_DISABLE_DHT class_("dht_settings") .def_readwrite("max_peers_reply", &dht::dht_settings::max_peers_reply) .def_readwrite("search_branching", &dht::dht_settings::search_branching) #if TORRENT_ABI_VERSION == 1 .def_readwrite("service_port", &dht::dht_settings::service_port) #endif .def_readwrite("max_fail_count", &dht::dht_settings::max_fail_count) .def_readwrite("max_torrents", &dht::dht_settings::max_torrents) .def_readwrite("max_dht_items", &dht::dht_settings::max_dht_items) .def_readwrite("restrict_routing_ips", &dht::dht_settings::restrict_routing_ips) .def_readwrite("restrict_search_ips", &dht::dht_settings::restrict_search_ips) .def_readwrite("max_torrent_search_reply", &dht::dht_settings::max_torrent_search_reply) .def_readwrite("extended_routing_table", &dht::dht_settings::extended_routing_table) .def_readwrite("aggressive_lookups", &dht::dht_settings::aggressive_lookups) .def_readwrite("privacy_lookups", &dht::dht_settings::privacy_lookups) .def_readwrite("enforce_node_id", &dht::dht_settings::enforce_node_id) .def_readwrite("ignore_dark_internet", &dht::dht_settings::ignore_dark_internet) .def_readwrite("block_timeout", &dht::dht_settings::block_timeout) .def_readwrite("block_ratelimit", &dht::dht_settings::block_ratelimit) .def_readwrite("read_only", &dht::dht_settings::read_only) .def_readwrite("item_lifetime", &dht::dht_settings::item_lifetime) ; #endif #if TORRENT_ABI_VERSION == 1 class_("pe_settings") .def_readwrite("out_enc_policy", &pe_settings::out_enc_policy) .def_readwrite("in_enc_policy", &pe_settings::in_enc_policy) .def_readwrite("allowed_enc_level", &pe_settings::allowed_enc_level) .def_readwrite("prefer_rc4", &pe_settings::prefer_rc4) ; #endif }