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