2020-11-11 00:13:09 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include "views/view.hpp"
|
|
|
|
|
|
|
|
#include <cstdio>
|
|
|
|
|
|
|
|
namespace hex {
|
|
|
|
|
2020-11-11 09:28:44 +01:00
|
|
|
namespace prv { class Provider; }
|
|
|
|
|
2020-11-11 00:13:09 +01:00
|
|
|
class ViewHashes : public View {
|
|
|
|
public:
|
2020-11-11 09:28:44 +01:00
|
|
|
explicit ViewHashes(prv::Provider* &dataProvider);
|
|
|
|
~ViewHashes() override;
|
2020-11-11 00:13:09 +01:00
|
|
|
|
2020-11-11 09:28:44 +01:00
|
|
|
void createView() override;
|
|
|
|
void createMenu() override;
|
2020-11-11 00:13:09 +01:00
|
|
|
|
|
|
|
private:
|
2020-11-11 09:18:35 +01:00
|
|
|
prv::Provider* &m_dataProvider;
|
2020-11-11 00:13:09 +01:00
|
|
|
|
2020-11-12 09:38:52 +01:00
|
|
|
bool m_shouldInvalidate = true;
|
2020-11-11 00:13:09 +01:00
|
|
|
int m_currHashFunction = 0;
|
2020-11-28 15:53:11 +01:00
|
|
|
u64 m_hashRegion[2] = { 0 };
|
|
|
|
bool m_shouldMatchSelection = false;
|
|
|
|
|
2020-11-12 12:00:50 +01:00
|
|
|
static constexpr const char* HashFunctionNames[] = { "CRC16", "CRC32", "MD4", "MD5", "SHA-1", "SHA-224", "SHA-256", "SHA-384", "SHA-512" };
|
2020-11-11 00:13:09 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
}
|