aboutsummaryrefslogtreecommitdiff
path: root/launcher/net/MetaCacheSink.h
blob: 431e10a87770fd6553e47cd838d8b4238306beda (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#pragma once

#include "ChecksumValidator.h"
#include "FileSink.h"
#include "net/HttpMetaCache.h"

namespace Net {
class MetaCacheSink : public FileSink {
   public:
    MetaCacheSink(MetaEntryPtr entry, ChecksumValidator* md5sum);
    virtual ~MetaCacheSink() = default;

    auto hasLocalData() -> bool override;

   protected:
    auto initCache(QNetworkRequest& request) -> Task::State override;
    auto finalizeCache(QNetworkReply& reply) -> Task::State override;

   private:
    MetaEntryPtr m_entry;
    ChecksumValidator* m_md5Node;
};
}  // namespace Net