1
0
mirror of https://github.com/d47081/qBittorrent.git synced 2025-01-23 13:04:23 +00:00

Support changes to plugin API in libtorrent-2.0

libtorrent-2.0 introduced a type-safe alternative to void* (lt::client_data_t)
for passing user-data into plugins. qBT doesn't use any user data in its
plugins, but the signatures have changed nevertheless, and qBT need to update to
be compatible with libtorrent-2.0.
This commit is contained in:
arvidn 2020-06-03 17:32:30 +02:00
parent 4a98341038
commit d2cc01f65c
2 changed files with 10 additions and 4 deletions

View File

@ -53,12 +53,12 @@ lt::feature_flags_t NativeSessionExtension::implemented_features()
return alert_feature; return alert_feature;
} }
std::shared_ptr<lt::torrent_plugin> NativeSessionExtension::new_torrent(const lt::torrent_handle &torrentHandle, void *) std::shared_ptr<lt::torrent_plugin> NativeSessionExtension::new_torrent(const lt::torrent_handle &torrentHandle, ClientData)
{ {
return std::make_shared<NativeTorrentExtension>(torrentHandle); return std::make_shared<NativeTorrentExtension>(torrentHandle);
} }
#else #else
boost::shared_ptr<lt::torrent_plugin> NativeSessionExtension::new_torrent(const lt::torrent_handle &torrentHandle, void *) boost::shared_ptr<lt::torrent_plugin> NativeSessionExtension::new_torrent(const lt::torrent_handle &torrentHandle, ClientData)
{ {
return boost::make_shared<NativeTorrentExtension>(torrentHandle); return boost::make_shared<NativeTorrentExtension>(torrentHandle);
} }

View File

@ -33,11 +33,17 @@
class NativeSessionExtension final : public lt::plugin class NativeSessionExtension final : public lt::plugin
{ {
#if (LIBTORRENT_VERSION_NUM >= 20000)
using ClientData = lt::client_data_t;
#else
using ClientData = void *;
#endif
#if (LIBTORRENT_VERSION_NUM >= 10200) #if (LIBTORRENT_VERSION_NUM >= 10200)
lt::feature_flags_t implemented_features() override; lt::feature_flags_t implemented_features() override;
std::shared_ptr<lt::torrent_plugin> new_torrent(const lt::torrent_handle &torrentHandle, void *userData) override; std::shared_ptr<lt::torrent_plugin> new_torrent(const lt::torrent_handle &torrentHandle, ClientData) override;
#else #else
boost::shared_ptr<lt::torrent_plugin> new_torrent(const lt::torrent_handle &torrentHandle, void *userData) override; boost::shared_ptr<lt::torrent_plugin> new_torrent(const lt::torrent_handle &torrentHandle, ClientData) override;
#endif #endif
void on_alert(const lt::alert *alert) override; void on_alert(const lt::alert *alert) override;
}; };