mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-23 01:25:51 +00:00
27 lines
904 B
C++
27 lines
904 B
C++
#pragma once
|
|
|
|
#include <memory>
|
|
|
|
#include "Crypto.h"
|
|
#include "Loading/ILoadingStep.h"
|
|
#include "Utils/ICapturedDataProvider.h"
|
|
#include "Loading/IHashProvider.h"
|
|
|
|
class StepVerifyHash final : public ILoadingStep
|
|
{
|
|
std::unique_ptr<IHashFunction> m_hash_function;
|
|
unsigned m_hash_index;
|
|
IHashProvider* m_hash_provider;
|
|
ICapturedDataProvider* m_data_provider;
|
|
|
|
public:
|
|
StepVerifyHash(std::unique_ptr<IHashFunction> hashFunction, unsigned hashIndex, IHashProvider* hashProvider, ICapturedDataProvider* dataProvider);
|
|
~StepVerifyHash();
|
|
StepVerifyHash(const StepVerifyHash& other) = delete;
|
|
StepVerifyHash(StepVerifyHash&& other) noexcept = default;
|
|
StepVerifyHash& operator=(const StepVerifyHash& other) = delete;
|
|
StepVerifyHash& operator=(StepVerifyHash&& other) noexcept = default;
|
|
|
|
void PerformStep(ZoneLoader* zoneLoader, ILoadingStream* stream) override;
|
|
};
|