feat: Added ability to query provider information from pattern language

This commit is contained in:
WerWolv
2023-01-24 09:07:11 +01:00
parent 915106f360
commit cf9df6e36d
18 changed files with 122 additions and 15 deletions

View File

@@ -34,7 +34,7 @@ namespace hex::plugin::builtin {
void close() override;
[[nodiscard]] std::string getName() const override;
[[nodiscard]] std::vector<std::pair<std::string, std::string>> getDataInformation() const override;
[[nodiscard]] std::vector<std::pair<std::string, std::string>> getDataDescription() const override;
[[nodiscard]] bool hasLoadInterface() const override { return true; }
void drawLoadInterface() override;
@@ -47,6 +47,7 @@ namespace hex::plugin::builtin {
}
[[nodiscard]] std::pair<Region, bool> getRegionValidity(u64 address) const override;
std::variant<std::string, i128> queryInformation(const std::string &category, const std::string &argument) override;
protected:
void reloadDrives();

View File

@@ -47,7 +47,8 @@ namespace hex::plugin::builtin {
void saveAs(const std::fs::path &path) override;
[[nodiscard]] std::string getName() const override;
[[nodiscard]] std::vector<std::pair<std::string, std::string>> getDataInformation() const override;
[[nodiscard]] std::vector<std::pair<std::string, std::string>> getDataDescription() const override;
std::variant<std::string, i128> queryInformation(const std::string &category, const std::string &argument) override;
[[nodiscard]] bool hasFilePicker() const override { return true; }
[[nodiscard]] bool handleFilePicker() override;

View File

@@ -32,7 +32,7 @@ namespace hex::plugin::builtin {
void saveAs(const std::fs::path &path) override;
[[nodiscard]] std::string getName() const override;
[[nodiscard]] std::vector<std::pair<std::string, std::string>> getDataInformation() const override;
[[nodiscard]] std::vector<std::pair<std::string, std::string>> getDataDescription() const override;
[[nodiscard]] bool open() override;
void close() override;
@@ -50,6 +50,7 @@ namespace hex::plugin::builtin {
}
[[nodiscard]] std::pair<Region, bool> getRegionValidity(u64 address) const override;
std::variant<std::string, i128> queryInformation(const std::string &category, const std::string &argument) override;
protected:
hex::Socket m_socket;

View File

@@ -27,7 +27,7 @@ namespace hex::plugin::builtin {
void close() override;
[[nodiscard]] std::string getName() const override;
[[nodiscard]] std::vector<std::pair<std::string, std::string>> getDataInformation() const override { return { }; }
[[nodiscard]] std::vector<std::pair<std::string, std::string>> getDataDescription() const override { return { }; }
void loadSettings(const nlohmann::json &settings) override;
[[nodiscard]] nlohmann::json storeSettings(nlohmann::json settings) const override;

View File

@@ -31,7 +31,7 @@ namespace hex::plugin::builtin {
void saveAs(const std::fs::path &path) override;
[[nodiscard]] std::string getName() const override { return LangEntry("hex.builtin.provider.mem_file.unsaved"); }
[[nodiscard]] std::vector<std::pair<std::string, std::string>> getDataInformation() const override { return { }; }
[[nodiscard]] std::vector<std::pair<std::string, std::string>> getDataDescription() const override { return { }; }
[[nodiscard]] std::string getTypeName() const override {
return "hex.builtin.provider.mem_file";

View File

@@ -23,7 +23,7 @@ namespace hex::plugin::builtin {
[[nodiscard]] size_t getActualSize() const override { return 0x00; }
[[nodiscard]] std::string getName() const override { return "None"; }
[[nodiscard]] std::vector<std::pair<std::string, std::string>> getDataInformation() const override { return { }; }
[[nodiscard]] std::vector<std::pair<std::string, std::string>> getDataDescription() const override { return { }; }
void loadSettings(const nlohmann::json &settings) override { hex::unused(settings); }
[[nodiscard]] nlohmann::json storeSettings(nlohmann::json settings) const override { return settings; }

View File

@@ -41,7 +41,7 @@ namespace hex::plugin::builtin {
[[nodiscard]] size_t getActualSize() const override { return this->m_size; }
[[nodiscard]] std::string getName() const override { return hex::format("{} View", this->m_provider->getName()); }
[[nodiscard]] std::vector<std::pair<std::string, std::string>> getDataInformation() const override { return this->m_provider->getDataInformation(); }
[[nodiscard]] std::vector<std::pair<std::string, std::string>> getDataDescription() const override { return this->m_provider->getDataDescription(); }
void loadSettings(const nlohmann::json &settings) override { hex::unused(settings); }
[[nodiscard]] nlohmann::json storeSettings(nlohmann::json settings) const override { return settings; }