mirror of
https://github.com/qbittorrent/qBittorrent.git
synced 2026-01-01 05:08:05 -06:00
Add compile definition to indicate using of libtorrent 2.0 (#15297)
The compile definition is temporary which will be removed when qbt ditches libtorrent 1.x.
This commit is contained in:
@@ -35,7 +35,7 @@
|
||||
#include "base/utils/fs.h"
|
||||
#include "common.h"
|
||||
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
#include <libtorrent/session.hpp>
|
||||
|
||||
std::unique_ptr<lt::disk_interface> customDiskIOConstructor(
|
||||
|
||||
@@ -30,11 +30,10 @@
|
||||
|
||||
#include <libtorrent/aux_/vector.hpp>
|
||||
#include <libtorrent/fwd.hpp>
|
||||
#include <libtorrent/version.hpp>
|
||||
|
||||
#include <QString>
|
||||
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
#include <libtorrent/disk_interface.hpp>
|
||||
#include <libtorrent/file_storage.hpp>
|
||||
#include <libtorrent/io_context.hpp>
|
||||
@@ -46,7 +45,7 @@
|
||||
#include <libtorrent/storage.hpp>
|
||||
#endif
|
||||
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
std::unique_ptr<lt::disk_interface> customDiskIOConstructor(
|
||||
lt::io_context &ioContext, lt::settings_interface const &settings, lt::counters &counters);
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ bool BitTorrent::InfoHash::isValid() const
|
||||
|
||||
SHA1Hash BitTorrent::InfoHash::v1() const
|
||||
{
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
return (m_nativeHash.has_v1() ? SHA1Hash(m_nativeHash.v1) : SHA1Hash());
|
||||
#else
|
||||
return {m_nativeHash};
|
||||
@@ -52,7 +52,7 @@ SHA1Hash BitTorrent::InfoHash::v1() const
|
||||
|
||||
SHA256Hash BitTorrent::InfoHash::v2() const
|
||||
{
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
return (m_nativeHash.has_v2() ? SHA256Hash(m_nativeHash.v2) : SHA256Hash());
|
||||
#else
|
||||
return {};
|
||||
@@ -61,7 +61,7 @@ SHA256Hash BitTorrent::InfoHash::v2() const
|
||||
|
||||
BitTorrent::TorrentID BitTorrent::InfoHash::toTorrentID() const
|
||||
{
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
return m_nativeHash.get_best();
|
||||
#else
|
||||
return {m_nativeHash};
|
||||
|
||||
@@ -28,8 +28,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <libtorrent/version.hpp>
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
#include <libtorrent/info_hash.hpp>
|
||||
#endif
|
||||
|
||||
@@ -58,7 +57,7 @@ namespace BitTorrent
|
||||
class InfoHash
|
||||
{
|
||||
public:
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
using WrappedType = lt::info_hash_t;
|
||||
#else
|
||||
using WrappedType = lt::sha1_hash;
|
||||
|
||||
@@ -90,7 +90,7 @@ MagnetUri::MagnetUri(const QString &source)
|
||||
|
||||
m_valid = true;
|
||||
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
m_infoHash = m_addTorrentParams.info_hashes;
|
||||
#else
|
||||
m_infoHash = m_addTorrentParams.info_hash;
|
||||
|
||||
@@ -29,11 +29,10 @@
|
||||
#pragma once
|
||||
|
||||
#include <libtorrent/extensions.hpp>
|
||||
#include <libtorrent/version.hpp>
|
||||
|
||||
class NativeSessionExtension final : public lt::plugin
|
||||
{
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
using ClientData = lt::client_data_t;
|
||||
#else
|
||||
using ClientData = void *;
|
||||
|
||||
@@ -210,7 +210,7 @@ namespace
|
||||
{
|
||||
switch (socketType)
|
||||
{
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
case lt::socket_type_t::http:
|
||||
return QLatin1String("HTTP");
|
||||
case lt::socket_type_t::http_ssl:
|
||||
@@ -220,7 +220,7 @@ namespace
|
||||
return QLatin1String("I2P");
|
||||
case lt::socket_type_t::socks5:
|
||||
return QLatin1String("SOCKS5");
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
case lt::socket_type_t::socks5_ssl:
|
||||
return QLatin1String("SOCKS5_SSL");
|
||||
#endif
|
||||
@@ -228,7 +228,7 @@ namespace
|
||||
return QLatin1String("TCP");
|
||||
case lt::socket_type_t::tcp_ssl:
|
||||
return QLatin1String("TCP_SSL");
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
case lt::socket_type_t::utp:
|
||||
return QLatin1String("UTP");
|
||||
#else
|
||||
@@ -1077,14 +1077,14 @@ void Session::initializeNativeSession()
|
||||
pack.set_bool(lt::settings_pack::enable_upnp, false);
|
||||
pack.set_bool(lt::settings_pack::enable_natpmp, false);
|
||||
|
||||
#if (LIBTORRENT_VERSION_NUM > 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
// preserve the same behavior as in earlier libtorrent versions
|
||||
pack.set_bool(lt::settings_pack::enable_set_file_valid_data, true);
|
||||
#endif
|
||||
|
||||
loadLTSettings(pack);
|
||||
lt::session_params sessionParams {pack, {}};
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
sessionParams.disk_io_constructor = customDiskIOConstructor;
|
||||
#endif
|
||||
m_nativeSession = new lt::session {sessionParams};
|
||||
@@ -1176,7 +1176,7 @@ void Session::initMetrics()
|
||||
|
||||
m_metricIndices.disk.diskBlocksInUse = findMetricIndex("disk.disk_blocks_in_use");
|
||||
m_metricIndices.disk.numBlocksRead = findMetricIndex("disk.num_blocks_read");
|
||||
#if (LIBTORRENT_VERSION_NUM < 20000)
|
||||
#ifndef QBT_USES_LIBTORRENT2
|
||||
m_metricIndices.disk.numBlocksCacheHits = findMetricIndex("disk.num_blocks_cache_hits");
|
||||
#endif
|
||||
m_metricIndices.disk.writeJobs = findMetricIndex("disk.num_write_ops");
|
||||
@@ -1263,7 +1263,7 @@ void Session::loadLTSettings(lt::settings_pack &settingsPack)
|
||||
settingsPack.set_int(lt::settings_pack::peer_turnover_interval, peerTurnoverInterval());
|
||||
|
||||
settingsPack.set_int(lt::settings_pack::aio_threads, asyncIOThreads());
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
settingsPack.set_int(lt::settings_pack::hashing_threads, hashingThreads());
|
||||
#endif
|
||||
settingsPack.set_int(lt::settings_pack::file_pool_size, filePoolSize());
|
||||
@@ -1271,7 +1271,7 @@ void Session::loadLTSettings(lt::settings_pack &settingsPack)
|
||||
const int checkingMemUsageSize = checkingMemUsage() * 64;
|
||||
settingsPack.set_int(lt::settings_pack::checking_mem_usage, checkingMemUsageSize);
|
||||
|
||||
#if (LIBTORRENT_VERSION_NUM < 20000)
|
||||
#ifndef QBT_USES_LIBTORRENT2
|
||||
const int cacheSize = (diskCacheSize() > -1) ? (diskCacheSize() * 64) : -1;
|
||||
settingsPack.set_int(lt::settings_pack::cache_size, cacheSize);
|
||||
settingsPack.set_int(lt::settings_pack::cache_expiry, diskCacheTTL());
|
||||
@@ -1282,7 +1282,7 @@ void Session::loadLTSettings(lt::settings_pack &settingsPack)
|
||||
settingsPack.set_int(lt::settings_pack::disk_io_read_mode, mode);
|
||||
settingsPack.set_int(lt::settings_pack::disk_io_write_mode, mode);
|
||||
|
||||
#if (LIBTORRENT_VERSION_NUM < 20000)
|
||||
#ifndef QBT_USES_LIBTORRENT2
|
||||
settingsPack.set_bool(lt::settings_pack::coalesce_reads, isCoalesceReadWriteEnabled());
|
||||
settingsPack.set_bool(lt::settings_pack::coalesce_writes, isCoalesceReadWriteEnabled());
|
||||
#endif
|
||||
@@ -2215,7 +2215,7 @@ bool Session::loadTorrent(LoadTorrentParams params)
|
||||
{
|
||||
lt::add_torrent_params &p = params.ltAddTorrentParams;
|
||||
|
||||
#if (LIBTORRENT_VERSION_NUM < 20000)
|
||||
#ifndef QBT_USES_LIBTORRENT2
|
||||
p.storage = customStorageConstructor;
|
||||
#endif
|
||||
// Limits
|
||||
@@ -2223,7 +2223,7 @@ bool Session::loadTorrent(LoadTorrentParams params)
|
||||
p.max_uploads = maxUploadsPerTorrent();
|
||||
|
||||
const bool hasMetadata = (p.ti && p.ti->is_valid());
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
const auto id = TorrentID::fromInfoHash(hasMetadata ? p.ti->info_hashes() : p.info_hashes);
|
||||
#else
|
||||
const auto id = TorrentID::fromInfoHash(hasMetadata ? p.ti->info_hash() : p.info_hash);
|
||||
@@ -2290,7 +2290,7 @@ bool Session::downloadMetadata(const MagnetUri &magnetUri)
|
||||
// Solution to avoid accidental file writes
|
||||
p.flags |= lt::torrent_flags::upload_mode;
|
||||
|
||||
#if (LIBTORRENT_VERSION_NUM < 20000)
|
||||
#ifndef QBT_USES_LIBTORRENT2
|
||||
p.storage = customStorageConstructor;
|
||||
#endif
|
||||
|
||||
@@ -3905,7 +3905,7 @@ void Session::handleTorrentMetadataReceived(TorrentImpl *const torrent)
|
||||
// Copy the torrent file to the export folder
|
||||
if (!torrentExportDirectory().isEmpty())
|
||||
{
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
const TorrentInfo torrentInfo {torrent->nativeHandle().torrent_file_with_hashes()};
|
||||
#else
|
||||
const TorrentInfo torrentInfo {torrent->nativeHandle().torrent_file()};
|
||||
@@ -3963,7 +3963,7 @@ void Session::handleTorrentFinished(TorrentImpl *const torrent)
|
||||
// Move .torrent file to another folder
|
||||
if (!finishedTorrentExportDirectory().isEmpty())
|
||||
{
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
const TorrentInfo torrentInfo {torrent->nativeHandle().torrent_file_with_hashes()};
|
||||
#else
|
||||
const TorrentInfo torrentInfo {torrent->nativeHandle().torrent_file()};
|
||||
@@ -4048,7 +4048,7 @@ bool Session::addMoveTorrentStorageJob(TorrentImpl *torrent, const QString &newP
|
||||
|
||||
void Session::moveTorrentStorage(const MoveStorageJob &job) const
|
||||
{
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
const auto id = TorrentID::fromInfoHash(job.torrentHandle.info_hashes());
|
||||
#else
|
||||
const auto id = TorrentID::fromInfoHash(job.torrentHandle.info_hash());
|
||||
@@ -4347,7 +4347,7 @@ void Session::handleAlert(const lt::alert *a)
|
||||
{
|
||||
switch (a->type())
|
||||
{
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20003)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
case lt::file_prio_alert::alert_type:
|
||||
#endif
|
||||
case lt::file_renamed_alert::alert_type:
|
||||
@@ -4449,7 +4449,7 @@ void Session::dispatchTorrentAlert(const lt::alert *a)
|
||||
|
||||
void Session::createTorrent(const lt::torrent_handle &nativeHandle)
|
||||
{
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
const auto torrentID = TorrentID::fromInfoHash(nativeHandle.info_hashes());
|
||||
#else
|
||||
const auto torrentID = TorrentID::fromInfoHash(nativeHandle.info_hash());
|
||||
@@ -4515,7 +4515,7 @@ void Session::handleAddTorrentAlert(const lt::add_torrent_alert *p)
|
||||
|
||||
const lt::add_torrent_params ¶ms = p->params;
|
||||
const bool hasMetadata = (params.ti && params.ti->is_valid());
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
const auto id = TorrentID::fromInfoHash(hasMetadata ? params.ti->info_hashes() : params.info_hashes);
|
||||
#else
|
||||
const auto id = TorrentID::fromInfoHash(hasMetadata ? params.ti->info_hash() : params.info_hash);
|
||||
@@ -4530,7 +4530,7 @@ void Session::handleAddTorrentAlert(const lt::add_torrent_alert *p)
|
||||
|
||||
void Session::handleTorrentRemovedAlert(const lt::torrent_removed_alert *p)
|
||||
{
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
const auto id = TorrentID::fromInfoHash(p->info_hashes);
|
||||
#else
|
||||
const auto id = TorrentID::fromInfoHash(p->info_hash);
|
||||
@@ -4549,7 +4549,7 @@ void Session::handleTorrentRemovedAlert(const lt::torrent_removed_alert *p)
|
||||
|
||||
void Session::handleTorrentDeletedAlert(const lt::torrent_deleted_alert *p)
|
||||
{
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
const auto id = TorrentID::fromInfoHash(p->info_hashes);
|
||||
#else
|
||||
const auto id = TorrentID::fromInfoHash(p->info_hash);
|
||||
@@ -4567,7 +4567,7 @@ void Session::handleTorrentDeletedAlert(const lt::torrent_deleted_alert *p)
|
||||
|
||||
void Session::handleTorrentDeleteFailedAlert(const lt::torrent_delete_failed_alert *p)
|
||||
{
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
const auto id = TorrentID::fromInfoHash(p->info_hashes);
|
||||
#else
|
||||
const auto id = TorrentID::fromInfoHash(p->info_hash);
|
||||
@@ -4597,7 +4597,7 @@ void Session::handleTorrentDeleteFailedAlert(const lt::torrent_delete_failed_ale
|
||||
|
||||
void Session::handleMetadataReceivedAlert(const lt::metadata_received_alert *p)
|
||||
{
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
const auto id = TorrentID::fromInfoHash(p->handle.info_hashes());
|
||||
#else
|
||||
const auto id = TorrentID::fromInfoHash(p->handle.info_hash());
|
||||
@@ -4800,7 +4800,7 @@ void Session::handleSessionStatsAlert(const lt::session_stats_alert *p)
|
||||
m_cacheStatus.totalUsedBuffers = stats[m_metricIndices.disk.diskBlocksInUse];
|
||||
m_cacheStatus.jobQueueLength = stats[m_metricIndices.disk.queuedDiskJobs];
|
||||
|
||||
#if (LIBTORRENT_VERSION_NUM < 20000)
|
||||
#ifndef QBT_USES_LIBTORRENT2
|
||||
const int64_t numBlocksRead = stats[m_metricIndices.disk.numBlocksRead];
|
||||
const int64_t numBlocksCacheHits = stats[m_metricIndices.disk.numBlocksCacheHits];
|
||||
m_cacheStatus.readRatio = static_cast<qreal>(numBlocksCacheHits) / std::max<int64_t>((numBlocksCacheHits + numBlocksRead), 1);
|
||||
@@ -4835,7 +4835,7 @@ void Session::handleStorageMovedAlert(const lt::storage_moved_alert *p)
|
||||
const QString newPath {p->storage_path()};
|
||||
Q_ASSERT(newPath == currentJob.path);
|
||||
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
const auto id = TorrentID::fromInfoHash(currentJob.torrentHandle.info_hashes());
|
||||
#else
|
||||
const auto id = TorrentID::fromInfoHash(currentJob.torrentHandle.info_hash());
|
||||
@@ -4855,7 +4855,7 @@ void Session::handleStorageMovedFailedAlert(const lt::storage_moved_failed_alert
|
||||
const MoveStorageJob ¤tJob = m_moveStorageQueue.first();
|
||||
Q_ASSERT(currentJob.torrentHandle == p->handle);
|
||||
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
const auto id = TorrentID::fromInfoHash(currentJob.torrentHandle.info_hashes());
|
||||
#else
|
||||
const auto id = TorrentID::fromInfoHash(currentJob.torrentHandle.info_hash());
|
||||
@@ -4878,7 +4878,7 @@ void Session::handleStateUpdateAlert(const lt::state_update_alert *p)
|
||||
|
||||
for (const lt::torrent_status &status : p->status)
|
||||
{
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
const auto id = TorrentID::fromInfoHash(status.info_hashes);
|
||||
#else
|
||||
const auto id = TorrentID::fromInfoHash(status.info_hash);
|
||||
|
||||
@@ -36,7 +36,6 @@
|
||||
#include <libtorrent/add_torrent_params.hpp>
|
||||
#include <libtorrent/fwd.hpp>
|
||||
#include <libtorrent/torrent_handle.hpp>
|
||||
#include <libtorrent/version.hpp>
|
||||
|
||||
#include <QHash>
|
||||
#include <QPointer>
|
||||
@@ -191,7 +190,7 @@ namespace BitTorrent
|
||||
{
|
||||
int diskBlocksInUse = -1;
|
||||
int numBlocksRead = -1;
|
||||
#if (LIBTORRENT_VERSION_NUM < 20000)
|
||||
#ifndef QBT_USES_LIBTORRENT2
|
||||
int numBlocksCacheHits = -1;
|
||||
#endif
|
||||
int writeJobs = -1;
|
||||
|
||||
@@ -57,7 +57,7 @@ namespace
|
||||
return !Utils::Fs::fileName(QString::fromStdString(f)).startsWith('.');
|
||||
}
|
||||
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
lt::create_flags_t toNativeTorrentFormatFlag(const BitTorrent::TorrentFormat torrentFormat)
|
||||
{
|
||||
switch (torrentFormat)
|
||||
@@ -159,7 +159,7 @@ void TorrentCreatorThread::run()
|
||||
|
||||
checkInterruptionRequested();
|
||||
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
lt::create_torrent newTorrent {fs, m_params.pieceSize, toNativeTorrentFormatFlag(m_params.torrentFormat)};
|
||||
#else
|
||||
lt::create_torrent newTorrent(fs, m_params.pieceSize, m_params.paddedFileSizeLimit
|
||||
@@ -233,7 +233,7 @@ void TorrentCreatorThread::run()
|
||||
}
|
||||
}
|
||||
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
int TorrentCreatorThread::calculateTotalPieces(const QString &inputPath, const int pieceSize, const TorrentFormat torrentFormat)
|
||||
#else
|
||||
int TorrentCreatorThread::calculateTotalPieces(const QString &inputPath, const int pieceSize, const bool isAlignmentOptimized, const int paddedFileSizeLimit)
|
||||
@@ -245,7 +245,7 @@ int TorrentCreatorThread::calculateTotalPieces(const QString &inputPath, const i
|
||||
lt::file_storage fs;
|
||||
lt::add_files(fs, Utils::Fs::toNativePath(inputPath).toStdString(), fileFilter);
|
||||
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
return lt::create_torrent {fs, pieceSize, toNativeTorrentFormatFlag(torrentFormat)}.num_pieces();
|
||||
#else
|
||||
return lt::create_torrent(fs, pieceSize, paddedFileSizeLimit
|
||||
|
||||
@@ -28,14 +28,12 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <libtorrent/version.hpp>
|
||||
|
||||
#include <QStringList>
|
||||
#include <QThread>
|
||||
|
||||
namespace BitTorrent
|
||||
{
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
enum class TorrentFormat
|
||||
{
|
||||
V1,
|
||||
@@ -47,7 +45,7 @@ namespace BitTorrent
|
||||
struct TorrentCreatorParams
|
||||
{
|
||||
bool isPrivate;
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
TorrentFormat torrentFormat;
|
||||
#else
|
||||
bool isAlignmentOptimized;
|
||||
@@ -73,7 +71,7 @@ namespace BitTorrent
|
||||
|
||||
void create(const TorrentCreatorParams ¶ms);
|
||||
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
static int calculateTotalPieces(const QString &inputPath, const int pieceSize, const TorrentFormat torrentFormat);
|
||||
#else
|
||||
static int calculateTotalPieces(const QString &inputPath
|
||||
|
||||
@@ -43,9 +43,8 @@
|
||||
#include <libtorrent/session.hpp>
|
||||
#include <libtorrent/storage_defs.hpp>
|
||||
#include <libtorrent/time.hpp>
|
||||
#include <libtorrent/version.hpp>
|
||||
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
#include <libtorrent/info_hash.hpp>
|
||||
#endif
|
||||
|
||||
@@ -96,7 +95,7 @@ namespace
|
||||
return entry;
|
||||
}
|
||||
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
TrackerEntry fromNativeAnnouncerEntry(const lt::announce_entry &nativeEntry
|
||||
, const lt::info_hash_t &hashes, const QMap<lt::tcp::endpoint, int> &trackerPeerCounts)
|
||||
#else
|
||||
@@ -111,7 +110,7 @@ namespace
|
||||
int numNotWorking = 0;
|
||||
QString firstTrackerMessage;
|
||||
QString firstErrorMessage;
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
const auto numEndpoints = static_cast<qsizetype>(nativeEntry.endpoints.size() * ((hashes.has_v1() && hashes.has_v2()) ? 2 : 1));
|
||||
trackerEntry.endpoints.reserve(static_cast<decltype(trackerEntry.endpoints)::size_type>(numEndpoints));
|
||||
for (const lt::announce_endpoint &endpoint : nativeEntry.endpoints)
|
||||
@@ -265,7 +264,7 @@ TorrentImpl::TorrentImpl(Session *session, lt::session *nativeSession
|
||||
, m_session(session)
|
||||
, m_nativeSession(nativeSession)
|
||||
, m_nativeHandle(nativeHandle)
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
, m_infoHash(m_nativeHandle.info_hashes())
|
||||
#else
|
||||
, m_infoHash(m_nativeHandle.info_hash())
|
||||
@@ -478,7 +477,7 @@ QVector<TrackerEntry> TorrentImpl::trackers() const
|
||||
for (const lt::announce_entry &tracker : nativeTrackers)
|
||||
{
|
||||
const QString trackerURL = QString::fromStdString(tracker.url);
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
entries << fromNativeAnnouncerEntry(tracker, m_nativeHandle.info_hashes(), m_trackerPeerCounts[trackerURL]);
|
||||
#else
|
||||
entries << fromNativeAnnouncerEntry(tracker, m_trackerPeerCounts[trackerURL]);
|
||||
@@ -1942,7 +1941,7 @@ void TorrentImpl::handleFileErrorAlert(const lt::file_error_alert *p)
|
||||
m_lastFileError = {p->error, p->op};
|
||||
}
|
||||
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20003)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
void TorrentImpl::handleFilePrioAlert(const lt::file_prio_alert *)
|
||||
{
|
||||
if (m_nativeHandle.need_save_resume_data())
|
||||
@@ -1987,7 +1986,7 @@ void TorrentImpl::handleAlert(const lt::alert *a)
|
||||
{
|
||||
switch (a->type())
|
||||
{
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20003)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
case lt::file_prio_alert::alert_type:
|
||||
handleFilePrioAlert(static_cast<const lt::file_prio_alert*>(a));
|
||||
break;
|
||||
|
||||
@@ -252,7 +252,7 @@ namespace BitTorrent
|
||||
void handleFastResumeRejectedAlert(const lt::fastresume_rejected_alert *p);
|
||||
void handleFileCompletedAlert(const lt::file_completed_alert *p);
|
||||
void handleFileErrorAlert(const lt::file_error_alert *p);
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20003)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
void handleFilePrioAlert(const lt::file_prio_alert *p);
|
||||
#endif
|
||||
void handleFileRenamedAlert(const lt::file_renamed_alert *p);
|
||||
|
||||
@@ -31,7 +31,6 @@
|
||||
#include <libtorrent/bencode.hpp>
|
||||
#include <libtorrent/create_torrent.hpp>
|
||||
#include <libtorrent/error_code.hpp>
|
||||
#include <libtorrent/version.hpp>
|
||||
|
||||
#include <QByteArray>
|
||||
#include <QDateTime>
|
||||
@@ -197,7 +196,7 @@ InfoHash TorrentInfo::infoHash() const
|
||||
{
|
||||
if (!isValid()) return {};
|
||||
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
return m_nativeInfo->info_hashes();
|
||||
#else
|
||||
return m_nativeInfo->info_hash();
|
||||
@@ -342,7 +341,7 @@ QVector<QUrl> TorrentInfo::urlSeeds() const
|
||||
QByteArray TorrentInfo::metadata() const
|
||||
{
|
||||
if (!isValid()) return {};
|
||||
#if (LIBTORRENT_VERSION_NUM >= 20000)
|
||||
#ifdef QBT_USES_LIBTORRENT2
|
||||
const lt::span<const char> infoSection {m_nativeInfo->info_section()};
|
||||
return {infoSection.data(), static_cast<int>(infoSection.size())};
|
||||
#else
|
||||
|
||||
Reference in New Issue
Block a user