Handle torrent "paused" state at application level

This commit is contained in:
Vladimir Golovnev (Glassez)
2020-04-19 16:12:50 +03:00
parent b249216db6
commit 85bd0feee0
10 changed files with 157 additions and 146 deletions

View File

@@ -49,6 +49,12 @@ namespace BitTorrent
class TrackerEntry;
struct PeerAddress;
enum class TorrentOperatingMode
{
AutoManaged = 0,
Forced = 1
};
enum class TorrentState
{
Unknown = -1,
@@ -110,7 +116,6 @@ namespace BitTorrent
virtual qlonglong totalSize() const = 0;
virtual qlonglong wantedSize() const = 0;
virtual qlonglong completedSize() const = 0;
virtual qlonglong incompletedSize() const = 0;
virtual qlonglong pieceLength() const = 0;
virtual qlonglong wastedSize() const = 0;
virtual QString currentTracker() const = 0;
@@ -195,7 +200,6 @@ namespace BitTorrent
virtual TorrentInfo info() const = 0;
virtual bool isSeed() const = 0;
virtual bool isPaused() const = 0;
virtual bool isResumed() const = 0;
virtual bool isQueued() const = 0;
virtual bool isForced() const = 0;
virtual bool isChecking() const = 0;
@@ -267,7 +271,7 @@ namespace BitTorrent
virtual void setSequentialDownload(bool enable) = 0;
virtual void setFirstLastPiecePriority(bool enabled) = 0;
virtual void pause() = 0;
virtual void resume(bool forced = false) = 0;
virtual void resume(TorrentOperatingMode mode = TorrentOperatingMode::AutoManaged) = 0;
virtual void move(QString path) = 0;
virtual void forceReannounce(int index = -1) = 0;
virtual void forceDHTAnnounce() = 0;
@@ -289,6 +293,9 @@ namespace BitTorrent
virtual QString createMagnetURI() const = 0;
bool isResumed() const;
qlonglong remainingSize() const;
void toggleSequentialDownload();
void toggleFirstLastPiecePriority();
};