X-Git-Url: https://git.quassel-irc.org/?a=blobdiff_plain;f=src%2Fclient%2Fbacklogrequester.h;h=3acd793ea418686cc558e0ed51461733a44332d1;hb=b83e459f4ed6deda6e46b7ae12e49e197ef3bb12;hp=73571270835f048f01a65e2846a31c3ea7c40ff4;hpb=02966c1d1a668b2382de899008e6fefb42da4bbb;p=quassel.git diff --git a/src/client/backlogrequester.h b/src/client/backlogrequester.h index 73571270..3acd793e 100644 --- a/src/client/backlogrequester.h +++ b/src/client/backlogrequester.h @@ -39,6 +39,7 @@ public: InvalidRequester = 0, PerBufferFixed, PerBufferUnread, + AsNeeded, ///< Only request backlog on cores without Feature::BufferActivitySync GlobalUnread }; @@ -114,3 +115,20 @@ private: int _limit; int _additional; }; + +// ======================================== +// AS NEEDED BACKLOG REQUESTER +// ======================================== +/** + * Backlog requester that only fetches initial backlog when the core doesn't support buffer activity + * tracking + */ +class AsNeededBacklogRequester : public BacklogRequester +{ +public: + AsNeededBacklogRequester(ClientBacklogManager* backlogManager); + void requestBacklog(const BufferIdList& bufferIds) override; + +private: + int _legacyBacklogCount; +};