Add support for custom providers via plugins

This commit is contained in:
WerWolv
2020-12-27 15:39:06 +01:00
parent 8ba96904a6
commit f74eff8934
33 changed files with 286 additions and 193 deletions

View File

@@ -13,15 +13,13 @@ namespace hex {
class ViewBookmarks : public View {
public:
explicit ViewBookmarks(prv::Provider* &dataProvider);
explicit ViewBookmarks();
~ViewBookmarks() override;
void drawContent() override;
void drawMenu() override;
private:
prv::Provider* &m_dataProvider;
std::list<Bookmark> m_bookmarks;
};

View File

@@ -51,14 +51,13 @@ namespace hex {
class ViewDataInspector : public View {
public:
explicit ViewDataInspector(prv::Provider* &dataProvider);
explicit ViewDataInspector();
~ViewDataInspector() override;
void drawContent() override;
void drawMenu() override;
private:
prv::Provider* &m_dataProvider;
bool m_shouldInvalidate = true;
std::endian m_endianess = std::endian::native;

View File

@@ -24,14 +24,13 @@ namespace hex {
class ViewDisassembler : public View {
public:
explicit ViewDisassembler(prv::Provider* &dataProvider);
explicit ViewDisassembler();
~ViewDisassembler() override;
void drawContent() override;
void drawMenu() override;
private:
prv::Provider* &m_dataProvider;
bool m_shouldInvalidate = false;
u64 m_baseAddress = 0;

View File

@@ -10,15 +10,13 @@ namespace hex {
class ViewHashes : public View {
public:
explicit ViewHashes(prv::Provider* &dataProvider);
explicit ViewHashes();
~ViewHashes() override;
void drawContent() override;
void drawMenu() override;
private:
prv::Provider* &m_dataProvider;
bool m_shouldInvalidate = true;
int m_currHashFunction = 0;
u64 m_hashRegion[2] = { 0 };

View File

@@ -20,7 +20,7 @@ namespace hex {
class ViewHexEditor : public View {
public:
ViewHexEditor(prv::Provider* &dataProvider, std::vector<lang::PatternData*> &patternData);
ViewHexEditor(std::vector<lang::PatternData*> &patternData);
~ViewHexEditor() override;
void drawContent() override;
@@ -31,7 +31,6 @@ namespace hex {
MemoryEditor m_memoryEditor;
imgui_addons::ImGuiFileBrowser m_fileBrowser;
prv::Provider* &m_dataProvider;
std::vector<lang::PatternData*> &m_patternData;
char m_searchStringBuffer[0xFFFF] = { 0 };

View File

@@ -13,15 +13,13 @@ namespace hex {
class ViewInformation : public View {
public:
explicit ViewInformation(prv::Provider* &dataProvider);
explicit ViewInformation();
~ViewInformation() override;
void drawContent() override;
void drawMenu() override;
private:
prv::Provider* &m_dataProvider;
bool m_dataValid = false;
u32 m_blockSize = 0;
float m_averageEntropy = 0;

View File

@@ -13,16 +13,13 @@ namespace hex {
class ViewPatches : public View {
public:
explicit ViewPatches(prv::Provider* &dataProvider);
explicit ViewPatches();
~ViewPatches() override;
void drawContent() override;
void drawMenu() override;
private:
prv::Provider* &m_dataProvider;
u64 m_selectedPatch;
};

View File

@@ -17,7 +17,7 @@ namespace hex {
class ViewPattern : public View {
public:
explicit ViewPattern(prv::Provider* &dataProvider, std::vector<lang::PatternData*> &patternData);
explicit ViewPattern(std::vector<lang::PatternData*> &patternData);
~ViewPattern() override;
void drawMenu() override;
@@ -25,7 +25,6 @@ namespace hex {
private:
std::vector<lang::PatternData*> &m_patternData;
prv::Provider* &m_dataProvider;
std::filesystem::path m_possiblePatternFile;
TextEditor m_textEditor;

View File

@@ -16,7 +16,7 @@ namespace hex {
class ViewPatternData : public View {
public:
ViewPatternData(prv::Provider* &dataProvider, std::vector<lang::PatternData*> &patternData);
ViewPatternData(std::vector<lang::PatternData*> &patternData);
~ViewPatternData() override;
void drawContent() override;
@@ -24,7 +24,6 @@ namespace hex {
private:
prv::Provider* &m_dataProvider;
std::vector<lang::PatternData*> &m_patternData;
std::vector<lang::PatternData*> m_sortedPatternData;
};

View File

@@ -17,14 +17,13 @@ namespace hex {
class ViewStrings : public View {
public:
explicit ViewStrings(prv::Provider* &dataProvider);
explicit ViewStrings();
~ViewStrings() override;
void drawContent() override;
void drawMenu() override;
private:
prv::Provider* &m_dataProvider;
bool m_shouldInvalidate = false;
std::vector<FoundString> m_foundStrings;

View File

@@ -15,15 +15,13 @@ namespace hex {
class ViewTools : public View {
public:
ViewTools(hex::prv::Provider* &provider);
ViewTools();
~ViewTools() override;
void drawContent() override;
void drawMenu() override;
private:
hex::prv::Provider* &m_dataProvider;
char *m_mangledBuffer = nullptr;
std::string m_demangledName;