#pragma once #include #include "InsightWorkerTask.hpp" #include "src/Targets/TargetMemory.hpp" namespace Bloom { class ReadTargetMemory: public InsightWorkerTask { Q_OBJECT public: ReadTargetMemory( Targets::TargetMemoryType memoryType, std::uint32_t startAddress, std::uint32_t size, const std::set& excludedAddressRanges = {} ): memoryType(memoryType), startAddress(startAddress), size(size), excludedAddressRanges(excludedAddressRanges) {} signals: void targetMemoryRead(Targets::TargetMemoryBuffer buffer); protected: void run(TargetControllerConsole& targetControllerConsole) override; private: Targets::TargetMemoryType memoryType; std::uint32_t startAddress; std::uint32_t size; std::set excludedAddressRanges; }; }