mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2025-12-19 23:17:21 -06:00
Correctly detect libtorrent version.
This commit is contained in:
@@ -69,12 +69,12 @@
|
||||
#include <libtorrent/torrent_info.hpp>
|
||||
#include <libtorrent/upnp.hpp>
|
||||
#include <libtorrent/natpmp.hpp>
|
||||
#if LIBTORRENT_VERSION_NUM < 001600
|
||||
#if LIBTORRENT_VERSION_NUM < 1600
|
||||
#include <boost/filesystem/exception.hpp>
|
||||
#include <boost/filesystem.hpp>
|
||||
#include <boost/filesystem/fstream.hpp>
|
||||
#endif
|
||||
#if LIBTORRENT_VERSION_NUM >= 001600
|
||||
#if LIBTORRENT_VERSION_NUM >= 1600
|
||||
#include "libtorrent/error_code.hpp"
|
||||
#endif
|
||||
#include <queue>
|
||||
@@ -120,7 +120,7 @@ QBtSession::QBtSession()
|
||||
BigRatioTimer->setInterval(10000);
|
||||
connect(BigRatioTimer, SIGNAL(timeout()), SLOT(processBigRatios()));
|
||||
Preferences pref;
|
||||
#if LIBTORRENT_VERSION_NUM < 001600
|
||||
#if LIBTORRENT_VERSION_NUM < 1600
|
||||
// To avoid some exceptions
|
||||
boost::filesystem::path::default_name_check(boost::filesystem::no_check);
|
||||
#endif
|
||||
@@ -398,7 +398,7 @@ void QBtSession::configureSession() {
|
||||
|
||||
sessionSettings.upnp_ignore_nonrouters = true;
|
||||
sessionSettings.use_dht_as_fallback = false;
|
||||
#if LIBTORRENT_VERSION_NUM >= 001600
|
||||
#if LIBTORRENT_VERSION_NUM >= 1600
|
||||
// Disable support for SSL torrents for now
|
||||
sessionSettings.ssl_listen = 0;
|
||||
#endif
|
||||
@@ -414,11 +414,11 @@ void QBtSession::configureSession() {
|
||||
sessionSettings.auto_scrape_min_interval = 900; // 15 minutes
|
||||
int cache_size = pref.diskCacheSize();
|
||||
sessionSettings.cache_size = cache_size ? cache_size * 64 : -1;
|
||||
#if LIBTORRENT_VERSION_NUM >= 001610
|
||||
#if LIBTORRENT_VERSION_NUM >= 1610
|
||||
sessionSettings.cache_expiry = pref.diskCacheTTL();
|
||||
#endif
|
||||
qDebug() << "Using a disk cache size of" << cache_size << "MiB";
|
||||
#if LIBTORRENT_VERSION_NUM >= 001600
|
||||
#if LIBTORRENT_VERSION_NUM >= 1600
|
||||
sessionSettings.anonymous_mode = pref.isAnonymousModeEnabled();
|
||||
if (sessionSettings.anonymous_mode) {
|
||||
addConsoleMessage(tr("Anonymous mode [ON]"), "blue");
|
||||
@@ -457,7 +457,7 @@ void QBtSession::configureSession() {
|
||||
// IP address to announce to trackers
|
||||
QString announce_ip = pref.getNetworkAddress();
|
||||
if (!announce_ip.isEmpty()) {
|
||||
#if LIBTORRENT_VERSION_NUM >= 001600
|
||||
#if LIBTORRENT_VERSION_NUM >= 1600
|
||||
sessionSettings.announce_ip = announce_ip.toStdString();
|
||||
#else
|
||||
boost::system::error_code ec;
|
||||
@@ -470,7 +470,7 @@ void QBtSession::configureSession() {
|
||||
}
|
||||
// Super seeding
|
||||
sessionSettings.strict_super_seeding = pref.isSuperSeedingEnabled();
|
||||
#if LIBTORRENT_VERSION_NUM >= 001600
|
||||
#if LIBTORRENT_VERSION_NUM >= 1600
|
||||
// * Max Half-open connections
|
||||
sessionSettings.half_open_limit = pref.getMaxHalfOpenConnections();
|
||||
// * Max connections limit
|
||||
@@ -485,7 +485,7 @@ void QBtSession::configureSession() {
|
||||
// * Global max upload slots
|
||||
s->set_max_uploads(pref.getMaxUploads());
|
||||
#endif
|
||||
#if LIBTORRENT_VERSION_NUM >= 001600
|
||||
#if LIBTORRENT_VERSION_NUM >= 1600
|
||||
// uTP
|
||||
sessionSettings.enable_incoming_utp = pref.isuTPEnabled();
|
||||
sessionSettings.enable_outgoing_utp = pref.isuTPEnabled();
|
||||
@@ -1137,7 +1137,7 @@ QTorrentHandle QBtSession::addTorrent(QString path, bool fromScanDir, QString fr
|
||||
qDebug("Successfully loaded fast resume data");
|
||||
}
|
||||
}
|
||||
#if LIBTORRENT_VERSION_NUM < 001600
|
||||
#if LIBTORRENT_VERSION_NUM < 1600
|
||||
else {
|
||||
// Generate fake resume data to make sure unwanted files
|
||||
// are not allocated
|
||||
@@ -1273,7 +1273,7 @@ add_torrent_params QBtSession::initializeAddTorrentParams(const QString &hash) {
|
||||
p.storage_mode = storage_mode_sparse;
|
||||
|
||||
// Priorities
|
||||
/*#if LIBTORRENT_VERSION_NUM >= 001600
|
||||
/*#if LIBTORRENT_VERSION_NUM >= 1600
|
||||
if (TorrentTempData::hasTempData(hash)) {
|
||||
std::vector<int> fp;
|
||||
TorrentTempData::getFilesPriority(hash, fp);
|
||||
@@ -1390,7 +1390,7 @@ void QBtSession::mergeTorrents(QTorrentHandle &h_ex, boost::intrusive_ptr<torren
|
||||
|
||||
bool urlseeds_added = false;
|
||||
const QStringList old_urlseeds = h_ex.url_seeds();
|
||||
#if LIBTORRENT_VERSION_NUM >= 001600
|
||||
#if LIBTORRENT_VERSION_NUM >= 1600
|
||||
std::vector<web_seed_entry> new_urlseeds = t->web_seeds();
|
||||
|
||||
std::vector<web_seed_entry>::iterator it = new_urlseeds.begin();
|
||||
@@ -1460,7 +1460,7 @@ void QBtSession::exportTorrentFiles(QString path) {
|
||||
|
||||
// Set the maximum number of opened connections
|
||||
void QBtSession::setMaxConnections(int maxConnec) {
|
||||
#if LIBTORRENT_VERSION_NUM >= 001600
|
||||
#if LIBTORRENT_VERSION_NUM >= 1600
|
||||
Q_UNUSED(maxConnec);
|
||||
Q_ASSERT(0); // Should not be used
|
||||
#else
|
||||
@@ -1559,7 +1559,7 @@ void QBtSession::loadSessionState() {
|
||||
state_file.read(&in[0], content_size);
|
||||
// bdecode
|
||||
lazy_entry e;
|
||||
#if LIBTORRENT_VERSION_NUM >= 001600
|
||||
#if LIBTORRENT_VERSION_NUM >= 1600
|
||||
libtorrent::error_code ec;
|
||||
lazy_bdecode(&in[0], &in[0] + in.size(), e, ec);
|
||||
if (!ec) {
|
||||
@@ -1649,7 +1649,7 @@ void QBtSession::saveTempFastResumeData() {
|
||||
QTorrentHandle h = QTorrentHandle(*torrentIT);
|
||||
try {
|
||||
if (!h.is_valid() || !h.has_metadata() /*|| h.is_seed() || h.is_paused()*/) continue;
|
||||
#if LIBTORRENT_VERSION_NUM >= 001600
|
||||
#if LIBTORRENT_VERSION_NUM >= 1600
|
||||
if (!h.need_save_resume_data()) continue;
|
||||
#endif
|
||||
if (h.state() == torrent_status::checking_files || h.state() == torrent_status::queued_for_checking || h.has_error()) continue;
|
||||
@@ -1944,13 +1944,13 @@ void QBtSession::setListeningPort(int port) {
|
||||
qDebug() << Q_FUNC_INFO << port;
|
||||
Preferences pref;
|
||||
std::pair<int,int> ports(port, port);
|
||||
#if LIBTORRENT_VERSION_NUM >= 001600
|
||||
#if LIBTORRENT_VERSION_NUM >= 1600
|
||||
libtorrent::error_code ec;
|
||||
#endif
|
||||
const QString iface_name = pref.getNetworkInterface();
|
||||
if (iface_name.isEmpty()) {
|
||||
addConsoleMessage(tr("qBittorrent is trying to listen on any interface port: TCP/%1", "e.g: qBittorrent is trying to listen on any interface port: TCP/6881").arg(QString::number(port)), "blue");
|
||||
#if LIBTORRENT_VERSION_NUM >= 001600
|
||||
#if LIBTORRENT_VERSION_NUM >= 1600
|
||||
s->listen_on(ports, ec, 0, session::listen_no_system_port);
|
||||
#else
|
||||
s->listen_on(ports);
|
||||
@@ -1968,7 +1968,7 @@ void QBtSession::setListeningPort(int port) {
|
||||
qDebug("This network interface has %d IP addresses", network_iface.addressEntries().size());
|
||||
foreach (const QNetworkAddressEntry &entry, network_iface.addressEntries()) {
|
||||
qDebug("Trying to listen on IP %s (%s)", qPrintable(entry.ip().toString()), qPrintable(iface_name));
|
||||
#if LIBTORRENT_VERSION_NUM >= 001600
|
||||
#if LIBTORRENT_VERSION_NUM >= 1600
|
||||
s->listen_on(ports, ec, entry.ip().toString().toAscii().constData(), session::listen_no_system_port);
|
||||
if (!ec) {
|
||||
#else
|
||||
@@ -1986,7 +1986,7 @@ void QBtSession::setListeningPort(int port) {
|
||||
void QBtSession::setDownloadRateLimit(long rate) {
|
||||
qDebug() << Q_FUNC_INFO << rate;
|
||||
Q_ASSERT(rate == -1 || rate >= 0);
|
||||
#if LIBTORRENT_VERSION_NUM >= 001600
|
||||
#if LIBTORRENT_VERSION_NUM >= 1600
|
||||
session_settings settings = s->settings();
|
||||
settings.download_rate_limit = rate;
|
||||
s->set_settings(settings);
|
||||
@@ -2000,7 +2000,7 @@ void QBtSession::setDownloadRateLimit(long rate) {
|
||||
void QBtSession::setUploadRateLimit(long rate) {
|
||||
qDebug() << Q_FUNC_INFO << rate;
|
||||
Q_ASSERT(rate == -1 || rate >= 0);
|
||||
#if LIBTORRENT_VERSION_NUM >= 001600
|
||||
#if LIBTORRENT_VERSION_NUM >= 1600
|
||||
session_settings settings = s->settings();
|
||||
settings.upload_rate_limit = rate;
|
||||
s->set_settings(settings);
|
||||
@@ -2108,7 +2108,7 @@ void QBtSession::setSessionSettings(const session_settings &sessionSettings) {
|
||||
void QBtSession::setProxySettings(proxy_settings proxySettings) {
|
||||
qDebug() << Q_FUNC_INFO;
|
||||
|
||||
#if LIBTORRENT_VERSION_NUM >= 001600
|
||||
#if LIBTORRENT_VERSION_NUM >= 1600
|
||||
proxySettings.proxy_peer_connections = Preferences().proxyPeerConnections();
|
||||
s->set_proxy(proxySettings);
|
||||
#else
|
||||
@@ -2956,7 +2956,7 @@ void QBtSession::recoverPersistentData(const QString &hash, const std::vector<ch
|
||||
return;
|
||||
|
||||
libtorrent::lazy_entry fast;
|
||||
#if LIBTORRENT_VERSION_NUM < 001600
|
||||
#if LIBTORRENT_VERSION_NUM < 1600
|
||||
try {
|
||||
libtorrent::lazy_bdecode(&(buf.front()), &(buf.back()), fast);
|
||||
} catch (std::exception&) {
|
||||
|
||||
Reference in New Issue
Block a user