36 #include <libtorrent/add_torrent_params.hpp>
37 #include <libtorrent/fwd.hpp>
38 #include <libtorrent/torrent_handle.hpp>
43 #include <QtContainerFwd>
55 #if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
56 class QNetworkConfiguration;
57 class QNetworkConfigurationManager;
94 class ResumeDataStorage;
98 struct LoadTorrentParams;
105 inline namespace SessionSettingsEnums
146 #if defined(Q_OS_WIN)
147 enum class OSMemoryPriority : int
155 Q_ENUM_NS(OSMemoryPriority)
194 #ifndef QBT_USES_LIBTORRENT2
237 QSet<QString>
tags()
const;
238 bool hasTag(
const QString &tag)
const;
239 bool addTag(
const QString &tag);
441 #if defined(Q_OS_WIN)
442 OSMemoryPriority getOSMemoryPriority()
const;
443 void setOSMemoryPriority(OSMemoryPriority priority);
448 QVector<Torrent *>
torrents()
const;
461 void banIP(
const QString &ip);
505 ,
const QString &
downloadPath,
const QStringList &filePaths = {})
const;
556 #if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
558 void networkOnlineStateChanged(
bool online);
559 void networkConfigurationChange(
const QNetworkConfiguration &);
577 explicit Session(QObject *parent =
nullptr);
590 void adjustLimits(lt::settings_pack &settingsPack)
const;
603 #if defined(Q_OS_WIN)
604 void applyOSMemoryPriority()
const;
643 std::vector<lt::alert *>
getPendingAlerts(lt::time_duration time = lt::time_duration::zero())
const;
755 #if defined(Q_OS_WIN)
801 #if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
802 QNetworkConfigurationManager *m_networkManager =
nullptr;
void reannounceToAllTrackers() const
int refreshInterval() const
void populateAdditionalTrackers()
CachedSettingValue< int > m_globalMaxSeedingMinutes
void handleAddTorrentAlert(const lt::add_torrent_alert *p)
QString networkInterfaceName() const
void handleTorrentUrlSeedsAdded(TorrentImpl *const torrent, const QVector< QUrl > &newUrlSeeds)
CachedSettingValue< int > m_stopTrackerTimeout
bool removeTag(const QString &tag)
void loadLTSettings(lt::settings_pack &settingsPack)
void setAddTrackersEnabled(bool enabled)
bool blockPeersOnPrivilegedPorts() const
QString additionalTrackers() const
CachedSettingValue< int > m_socketBacklogSize
void setDiskCacheTTL(int ttl)
void setOutgoingPortsMax(int max)
bool m_IPFilteringConfigured
void setGlobalMaxSeedingMinutes(int minutes)
void setPeerTurnoverInterval(int num)
CachedSettingValue< SeedChokingAlgorithm > m_seedChokingAlgorithm
std::vector< lt::alert * > getPendingAlerts(lt::time_duration time=lt::time_duration::zero()) const
void subcategoriesSupportChanged()
QSet< TorrentID > m_needSaveResumeDataTorrents
void setBannedIPs(const QStringList &newList)
void setDownloadRateForSlowTorrents(int rateInKibiBytes)
void handleSessionStatsAlert(const lt::session_stats_alert *p)
void handlePeerBanAlert(const lt::peer_ban_alert *p)
void setIPFilterFile(QString path)
void handleTorrentChecked(TorrentImpl *const torrent)
CachedSettingValue< QStringList > m_bannedIPs
QString torrentExportDirectory() const
QStringList getListeningIPs() const
void torrentTagAdded(Torrent *torrent, const QString &tag)
void setTorrentExportDirectory(QString path)
void handleTorrentTagAdded(TorrentImpl *const torrent, const QString &tag)
void handleTorrentCategoryChanged(TorrentImpl *const torrent, const QString &oldCategory)
int maxActiveDownloads() const
CachedSettingValue< bool > m_isTrackerFilteringEnabled
void removeTorrentsQueue() const
qreal globalMaxRatio() const
void handleTorrentTrackersRemoved(TorrentImpl *const torrent, const QVector< TrackerEntry > &deletedTrackers)
void torrentSavingModeChanged(Torrent *torrent)
CachedSettingValue< int > m_saveResumeDataInterval
int maxActiveUploads() const
QVector< Torrent * > torrents() const
lt::time_point m_statsLastTimestamp
void handleAlertsDroppedAlert(const lt::alerts_dropped_alert *p) const
int uploadSpeedLimit() const
CachedSettingValue< bool > m_isLSDEnabled
void torrentPaused(Torrent *torrent)
bool cancelDownloadMetadata(const TorrentID &id)
void setResumeDataStorageType(ResumeDataStorageType type)
bool hasTag(const QString &tag) const
bool isTrackerFilteringEnabled() const
void setTrackerEnabled(bool enabled)
bool isReannounceWhenAddressChangedEnabled() const
bool isAltGlobalSpeedLimitEnabled() const
CachedSettingValue< bool > m_isAltGlobalSpeedLimitEnabled
bool hasPerTorrentSeedingTimeLimit() const
void setDisableAutoTMMWhenDefaultSavePathChanged(bool value)
int globalMaxSeedingMinutes() const
QTimer * m_resumeDataTimer
SeedChokingAlgorithm seedChokingAlgorithm() const
void handlePeerBlockedAlert(const lt::peer_blocked_alert *p)
void setMaxUploads(int max)
int asyncIOThreads() const
QVector< TrackerEntry > m_additionalTrackerList
void setConnectionSpeed(int value)
static Session * instance()
QHash< TorrentID, LoadTorrentParams > m_loadingTorrents
CachedSettingValue< int > m_UPnPLeaseDuration
bool isTrackerEnabled() const
CachedSettingValue< int > m_peerTurnoverCutoff
void trackersAdded(Torrent *torrent, const QVector< TrackerEntry > &trackers)
CachedSettingValue< bool > m_isPreallocationEnabled
bool isIDNSupportEnabled() const
bool addMoveTorrentStorageJob(TorrentImpl *torrent, const QString &newPath, MoveStorageMode mode)
bool isDHTEnabled() const
CachedSettingValue< QString > m_savePath
CachedSettingValue< int > m_globalDownloadSpeedLimit
void torrentAboutToBeRemoved(Torrent *torrent)
void trackersChanged(Torrent *torrent)
void setIPFilteringEnabled(bool enabled)
void handleStorageMovedFailedAlert(const lt::storage_moved_failed_alert *p)
LoadTorrentParams initLoadTorrentParams(const AddTorrentParams &addTorrentParams)
void applyBandwidthLimits()
CachedSettingValue< bool > m_isReannounceWhenAddressChangedEnabled
void handleTorrentTrackerWarning(TorrentImpl *const torrent, const QString &trackerUrl)
void handleTorrentSavingModeChanged(TorrentImpl *const torrent)
void handleTorrentDeleteFailedAlert(const lt::torrent_delete_failed_alert *p)
int sendBufferWatermark() const
void setUploadSpeedLimit(int limit)
void decreaseTorrentsQueuePos(const QVector< TorrentID > &ids)
int outgoingPortsMin() const
void setUseOSCache(bool use)
bool m_listenInterfaceConfigured
void handleSocks5Alert(const lt::socks5_alert *p) const
void setAsyncIOThreads(int num)
int globalDownloadSpeedLimit() const
QString networkInterface() const
CachedSettingValue< int > m_refreshInterval
void setUTPRateLimited(bool limited)
void setAnnounceIP(const QString &ip)
bool isAddTorrentPaused() const
CachedSettingValue< bool > m_usePieceExtentAffinity
int slowTorrentsInactivityTimer() const
void setStopTrackerTimeout(int value)
static bool isValidCategoryName(const QString &name)
QString finishedTorrentExportDirectory() const
void setDownloadPathEnabled(bool enabled)
void setMaxRatioAction(MaxRatioAction act)
CachedSettingValue< MixedModeAlgorithm > m_utpMixedMode
void fullDiskError(Torrent *torrent, const QString &msg)
void setTrackerFilteringEnabled(bool enabled)
void setSendBufferLowWatermark(int value)
QHash< TorrentID, RemovingTorrentData > m_removingTorrents
CachedSettingValue< bool > m_isAutoTMMDisabledByDefault
void setSuggestMode(bool mode)
void handleTorrentMetadataReceived(TorrentImpl *const torrent)
void trackersRemoved(Torrent *torrent, const QVector< TrackerEntry > &trackers)
void banIP(const QString &ip)
void setUPnPLeaseDuration(int duration)
int UPnPLeaseDuration() const
CachedSettingValue< int > m_uploadRateForSlowTorrents
bool includeOverheadInLimits() const
bool hasRunningSeed() const
void setSSRFMitigationEnabled(bool enabled)
int stopTrackerTimeout() const
CachedSettingValue< bool > m_isAddTrackersEnabled
void setMultiConnectionsPerIpEnabled(bool enabled)
void setHashingThreads(int num)
CachedSettingValue< int > m_globalUploadSpeedLimit
CachedSettingValue< int > m_port
CachedSettingValue< bool > m_isIPFilteringEnabled
void setPieceExtentAffinity(bool enabled)
void setAltGlobalUploadSpeedLimit(int limit)
CachedSettingValue< QString > m_torrentExportDirectory
void initializeNativeSession()
bool removeCategory(const QString &name)
void setMaxActiveUploads(int max)
CachedSettingValue< bool > m_isDownloadPathEnabled
void setBandwidthSchedulerEnabled(bool enabled)
void setAltGlobalDownloadSpeedLimit(int limit)
void setReannounceWhenAddressChangedEnabled(bool enabled)
CachedSettingValue< bool > m_isDisableAutoTMMWhenDefaultSavePathChanged
bool isDisableAutoTMMWhenCategoryChanged() const
int maxConnections() const
CachedSettingValue< bool > m_isDHTEnabled
CachedSettingValue< qreal > m_globalMaxRatio
CachedSettingValue< int > m_connectionSpeed
BTProtocol btProtocol() const
QString downloadPath() const
void handleExternalIPAlert(const lt::external_ip_alert *p)
void bottomTorrentsQueuePos(const QVector< TorrentID > &ids)
int outgoingPortsMax() const
void setSaveResumeDataInterval(int value)
void loadTorrentFailed(const QString &error)
void setSendBufferWatermark(int value)
void handleFileErrorAlert(const lt::file_error_alert *p)
CachedSettingValue< int > m_asyncIOThreads
CachedSettingValue< bool > m_isDisableAutoTMMWhenCategoryChanged
int altGlobalDownloadSpeedLimit() const
QPointer< FilterParserThread > m_filterParser
CachedSettingValue< QString > m_networkInterfaceName
quint64 getAlltimeDL() const
void setEncryption(int state)
CachedSettingValue< QString > m_IPFilterFile
void setGlobalMaxRatio(qreal ratio)
int peerTurnoverCutoff() const
FileSearcher * m_fileSearcher
void setDisableAutoTMMWhenCategoryChanged(bool value)
CachedSettingValue< int > m_maxConcurrentHTTPAnnounces
CachedSettingValue< QString > m_finishedTorrentExportDirectory
CachedSettingValue< int > m_maxActiveUploads
CachedSettingValue< int > m_altGlobalDownloadSpeedLimit
void torrentCategoryChanged(Torrent *torrent, const QString &oldCategory)
bool isPeXEnabled() const
CachedSettingValue< int > m_peerTurnover
void configureComponents()
bool addTag(const QString &tag)
CachedSettingValue< bool > m_isSuggestMode
void setMaxConcurrentHTTPAnnounces(int value)
bool isAddTrackersEnabled() const
void moveTorrentStorage(const MoveStorageJob &job) const
void torrentFinishedChecking(Torrent *torrent)
CachedSettingValue< int > m_slowTorrentsInactivityTimer
void setSubcategoriesEnabled(bool value)
int sendBufferLowWatermark() const
void exportTorrentFile(const TorrentInfo &torrentInfo, const QString &folderPath, const QString &baseName)
Statistics * m_statistics
QList< MoveStorageJob > m_moveStorageQueue
void setAltGlobalSpeedLimitEnabled(bool enabled)
bool announceToAllTiers() const
bool isIPFilteringEnabled() const
void handleMoveTorrentStorageJobFinished()
int sendBufferWatermarkFactor() const
CachedSettingValue< ResumeDataStorageType > m_resumeDataStorageType
CachedSettingValue< int > m_maxConnections
CachedSettingValue< int > m_checkingMemUsage
bool isSubcategoriesEnabled() const
void setBTProtocol(BTProtocol protocol)
bool usePieceExtentAffinity() const
void setDownloadPath(const QString &path)
void setDiskCacheSize(int size)
int connectionSpeed() const
bool isPreallocationEnabled() const
CachedSettingValue< bool > m_useOSCache
void setFinishedTorrentExportDirectory(QString path)
void setSlowTorrentsInactivityTimer(int timeInSeconds)
void setCheckingMemUsage(int size)
int checkingMemUsage() const
QTimer * m_seedingLimitTimer
CachedSettingValue< ChokingAlgorithm > m_chokingAlgorithm
CachedSettingValue< bool > m_isAppendExtensionEnabled
void setPeXEnabled(bool enabled)
CachedSettingValue< int > m_diskCacheTTL
QHash< TorrentID, TorrentImpl * > m_torrents
bool addCategory(const QString &name, const CategoryOptions &options={})
CachedSettingValue< int > m_sendBufferWatermarkFactor
int maxConnectionsPerTorrent() const
void setProxyPeerConnectionsEnabled(bool enabled)
void torrentTagRemoved(Torrent *torrent, const QString &tag)
CachedSettingValue< int > m_altGlobalUploadSpeedLimit
QString announceIP() const
CachedSettingValue< int > m_maxUploads
void setRefreshInterval(int value)
CachedSettingValue< int > m_maxRatioAction
void setAnonymousModeEnabled(bool enabled)
void configurePeerClasses()
void enableTracker(bool enable)
CachedSettingValue< QString > m_networkInterfaceAddress
void handleStateUpdateAlert(const lt::state_update_alert *p)
CachedSettingValue< bool > m_IDNSupportEnabled
void setUtpMixedMode(MixedModeAlgorithm mode)
void setFilePoolSize(int size)
int hashingThreads() const
void setDHTEnabled(bool enabled)
void processShareLimits()
int peerTurnoverInterval() const
quint64 getAlltimeUL() const
bool hasActiveTorrents() const
CachedSettingValue< int > m_peerTurnoverInterval
CachedSettingValue< bool > m_multiConnectionsPerIpEnabled
CachedSettingValue< int > m_encryption
bool ignoreLimitsOnLAN() const
void setMaxActiveDownloads(int max)
void setSavePath(const QString &path)
void setSeedChokingAlgorithm(SeedChokingAlgorithm mode)
bool isBandwidthSchedulerEnabled() const
CachedSettingValue< bool > m_isDisableAutoTMMWhenCategorySavePathChanged
void handleTorrentSaveResumeDataRequested(const TorrentImpl *torrent)
void handlePortmapAlert(const lt::portmap_alert *p)
void recursiveTorrentDownload(const TorrentID &id)
void setGlobalUploadSpeedLimit(int limit)
void processBannedIPs(lt::ip_filter &filter)
int socketBacklogSize() const
void tagAdded(const QString &tag)
void torrentAdded(Torrent *torrent)
void setIgnoreSlowTorrentsForQueueing(bool ignore)
QString IPFilterFile() const
const CacheStatus & cacheStatus() const
static Session * m_instance
lt::session * m_nativeSession
int globalUploadSpeedLimit() const
CachedSettingValue< int > m_peerToS
void setAnnounceToAllTrackers(bool val)
int maxConcurrentHTTPAnnounces() const
bool isDownloadPathEnabled() const
void handleMetadataReceivedAlert(const lt::metadata_received_alert *p)
void setIncludeOverheadInLimits(bool include)
void IPFilterParsed(bool error, int ruleCount)
void setOutgoingPortsMin(int min)
void storeCategories() const
void findIncompleteFiles(const TorrentInfo &torrentInfo, const QString &savePath, const QString &downloadPath, const QStringList &filePaths={}) const
static void initInstance()
QMap< QString, CategoryOptions > m_categories
void setMaxConnectionsPerTorrent(int max)
CachedSettingValue< int > m_maxUploadsPerTorrent
CachedSettingValue< BTProtocol > m_btProtocol
void setPeerTurnoverCutoff(int num)
void trackerError(Torrent *torrent, const QString &tracker)
QPointer< BandwidthScheduler > m_bwScheduler
ResumeDataStorage * m_resumeDataStorage
const SessionStatus & status() const
bool addTorrent_impl(const std::variant< MagnetUri, TorrentInfo > &source, const AddTorrentParams &addTorrentParams)
bool loadTorrent(LoadTorrentParams params)
CachedSettingValue< int > m_hashingThreads
CachedSettingValue< int > m_outgoingPortsMax
void setIgnoreLimitsOnLAN(bool ignore)
CachedSettingValue< bool > m_isBandwidthSchedulerEnabled
bool isSSRFMitigationEnabled() const
void handleDownloadFinished(const Net::DownloadResult &result)
void handleTorrentSavePathChanged(TorrentImpl *const torrent)
int altGlobalUploadSpeedLimit() const
bool isAutoTMMDisabledByDefault() const
bool hasUnfinishedTorrents() const
bool ignoreSlowTorrentsForQueueing() const
void setAnnounceToAllTiers(bool val)
QSet< TorrentID > m_recentErroredTorrents
void categoryAdded(const QString &categoryName)
void setMaxUploadsPerTorrent(int max)
bool deleteTorrent(const TorrentID &id, DeleteOption deleteOption=DeleteTorrent)
CachedSettingValue< bool > m_isTrackerEnabled
CachedSettingValue< bool > m_coalesceReadWriteEnabled
CachedSettingValue< int > m_maxActiveTorrents
void setGlobalDownloadSpeedLimit(int limit)
void handleIPFilterParsed(int ruleCount)
void setPreallocationEnabled(bool enabled)
bool isDisableAutoTMMWhenDefaultSavePathChanged() const
void handleTorrentNameChanged(TorrentImpl *const torrent)
void downloadFromUrlFinished(const QString &url)
void handleTorrentPaused(TorrentImpl *const torrent)
void speedLimitModeChanged(bool alternative)
bool multiConnectionsPerIpEnabled() const
void handleListenFailedAlert(const lt::listen_failed_alert *p)
void setPeerTurnover(int num)
void setValidateHTTPSTrackerCertificate(bool enabled)
bool isQueueingSystemEnabled() const
CachedSettingValue< bool > m_includeOverheadInLimits
int saveResumeDataInterval() const
void metadataDownloaded(const TorrentInfo &info)
CachedSettingValue< QString > m_networkInterface
void setBlockPeersOnPrivilegedPorts(bool enabled)
void handleTorrentTrackersAdded(TorrentImpl *const torrent, const QVector< TrackerEntry > &newTrackers)
void saveTorrentsQueue() const
void trackerSuccess(Torrent *torrent, const QString &tracker)
void handleAlert(const lt::alert *a)
ChokingAlgorithm chokingAlgorithm() const
void torrentFinished(Torrent *torrent)
QHash< QString, AddTorrentParams > m_downloadedTorrents
QString networkInterfaceAddress() const
CachedSettingValue< int > m_downloadRateForSlowTorrents
void handleTorrentTrackerError(TorrentImpl *const torrent, const QString &trackerUrl)
void setDisableAutoTMMWhenCategorySavePathChanged(bool value)
void handleTorrentTagRemoved(TorrentImpl *const torrent, const QString &tag)
void handleStorageMovedAlert(const lt::storage_moved_alert *p)
void categoryRemoved(const QString &categoryName)
QStringList bannedIPs() const
bool isDisableAutoTMMWhenCategorySavePathChanged() const
bool m_deferredConfigureScheduled
void handleTorrentResumed(TorrentImpl *const torrent)
void handleTorrentRemovedAlert(const lt::torrent_removed_alert *p)
CachedSettingValue< bool > m_isUTPRateLimited
bool isLSDEnabled() const
void handleListenSucceededAlert(const lt::listen_succeeded_alert *p)
static QStringList expandCategory(const QString &category)
CachedSettingValue< bool > m_SSRFMitigationEnabled
int downloadRateForSlowTorrents() const
void handleTorrentNeedSaveResumeData(const TorrentImpl *torrent)
void recursiveTorrentDownloadPossible(Torrent *torrent)
void torrentResumed(Torrent *torrent)
bool isKnownTorrent(const TorrentID &id) const
bool isSuggestModeEnabled() const
const bool m_wasPexEnabled
void setAdditionalTrackers(const QString &trackers)
CachedSettingValue< int > m_sendBufferLowWatermark
bool hasPerTorrentRatioLimit() const
void handleTorrentShareLimitChanged(TorrentImpl *const torrent)
bool m_needUpgradeDownloadPath
CachedSettingValue< int > m_maxActiveDownloads
bool announceToAllTrackers() const
QSet< TorrentID > m_downloadedMetadata
CacheStatus m_cacheStatus
CachedSettingValue< bool > m_ignoreLimitsOnLAN
void generateResumeData()
void configureListeningInterface()
CachedSettingValue< QString > m_additionalTrackers
static bool isValidTag(const QString &tag)
void handleUrlSeedAlert(const lt::url_seed_alert *p)
Q_INVOKABLE void configure()
CachedSettingValue< bool > m_blockPeersOnPrivilegedPorts
void enableBandwidthScheduler()
void handleTorrentResumeDataReady(TorrentImpl *const torrent, const LoadTorrentParams &data)
bool isCoalesceReadWriteEnabled() const
void setIDNSupportEnabled(bool enabled)
CachedSettingValue< int > m_filePoolSize
CachedSettingValue< TorrentContentLayout > m_torrentContentLayout
void setSocketBacklogSize(int value)
CachedSettingValue< bool > m_isAddTorrentPaused
CachedSettingValue< bool > m_announceToAllTiers
CachedSettingValue< bool > m_isProxyPeerConnectionsEnabled
void setTorrentContentLayout(TorrentContentLayout value)
int maxActiveTorrents() const
int uploadRateForSlowTorrents() const
bool addTorrent(const QString &source, const AddTorrentParams ¶ms=AddTorrentParams())
void setUploadRateForSlowTorrents(int rateInKibiBytes)
CachedSettingValue< int > m_sendBufferWatermark
void setMaxActiveTorrents(int max)
void fileSearchFinished(const TorrentID &id, const QString &savePath, const QStringList &fileNames)
MixedModeAlgorithm utpMixedMode() const
void setNetworkInterfaceAddress(const QString &address)
bool downloadMetadata(const MagnetUri &magnetUri)
CachedSettingValue< QString > m_downloadPath
void downloadFromUrlFailed(const QString &url, const QString &reason)
void createTorrent(const lt::torrent_handle &nativeHandle)
CachedSettingValue< bool > m_announceToAllTrackers
int maxUploadsPerTorrent() const
void setChokingAlgorithm(ChokingAlgorithm mode)
void setNetworkInterface(const QString &iface)
bool isProxyPeerConnectionsEnabled() const
QTimer * m_recentErroredTorrentsTimer
int diskCacheSize() const
void configureNetworkInterfaces(lt::settings_pack &settingsPack)
void torrentSavePathChanged(Torrent *torrent)
CategoryOptions categoryOptions(const QString &categoryName) const
CachedSettingValue< bool > m_ignoreSlowTorrentsForQueueing
void torrentsUpdated(const QVector< Torrent * > &torrents)
bool validateHTTPSTrackerCertificate() const
void trackerWarning(Torrent *torrent, const QString &tracker)
void handleTorrentTrackerReply(TorrentImpl *const torrent, const QString &trackerUrl)
void torrentLoaded(Torrent *torrent)
void topTorrentsQueuePos(const QVector< TorrentID > &ids)
MaxRatioAction maxRatioAction() const
TorrentContentLayout torrentContentLayout() const
bool isUTPRateLimited() const
void setDownloadSpeedLimit(int limit)
QString categorySavePath(const QString &categoryName) const
CachedSettingValue< QString > m_announceIP
void setAddTorrentPaused(bool value)
CachedSettingValue< int > m_maxConnectionsPerTorrent
void increaseTorrentsQueuePos(const QVector< TorrentID > &ids)
void handlePortmapWarningAlert(const lt::portmap_error_alert *p)
void setNetworkInterfaceName(const QString &name)
CachedSettingValue< bool > m_isPeXEnabled
void handleTorrentFinished(TorrentImpl *const torrent)
QSet< QString > tags() const
bool isAnonymousModeEnabled() const
QPointer< Tracker > m_tracker
void setSendBufferWatermarkFactor(int value)
bool isAppendExtensionEnabled() const
CachedSettingValue< bool > m_isQueueingEnabled
bool editCategory(const QString &name, const CategoryOptions &options)
void torrentMetadataReceived(Torrent *torrent)
SessionMetricIndices m_metricIndices
QStringList categories() const
void handleTorrentUrlSeedsRemoved(TorrentImpl *const torrent, const QVector< QUrl > &urlSeeds)
void setCoalesceReadWriteEnabled(bool enabled)
void setQueueingSystemEnabled(bool enabled)
Session(QObject *parent=nullptr)
CachedSettingValue< QStringList > m_storedTags
CachedSettingValue< int > m_diskCacheSize
CachedSettingValue< bool > m_isAnonymousModeEnabled
void allTorrentsFinished()
QString categoryDownloadPath(const QString &categoryName) const
CachedSettingValue< bool > m_isSubcategoriesEnabled
void setPeerToS(int value)
void dispatchTorrentAlert(const lt::alert *a)
void updateSeedingLimitTimer()
void handleTorrentTrackersChanged(TorrentImpl *const torrent)
void handleIPFilterError()
void setAppendExtensionEnabled(bool enabled)
void setLSDEnabled(bool enabled)
void handleTorrentDeletedAlert(const lt::torrent_deleted_alert *p)
ResumeDataStorageType resumeDataStorageType() const
void setMaxConnections(int max)
CachedSettingValue< int > m_outgoingPortsMin
void trackerlessStateChanged(Torrent *torrent, bool trackerless)
CachedSettingValue< bool > m_validateHTTPSTrackerCertificate
void setAutoTMMDisabledByDefault(bool value)
void tagRemoved(const QString &tag)
int downloadSpeedLimit() const
Torrent * findTorrent(const TorrentID &id) const
static void freeInstance()
flag icons free of to any person obtaining a copy of this software and associated documentation to deal in the Software without including without limitation the rights to use
T value(const QString &key, const T &defaultValue={})
lt::torrent_handle torrentHandle
DeleteOption deleteOption
struct BitTorrent::SessionMetricIndices::@0 net
struct BitTorrent::SessionMetricIndices::@3 disk
struct BitTorrent::SessionMetricIndices::@1 peer
int hasIncomingConnections
struct BitTorrent::SessionMetricIndices::@2 dht