Files
BloomPatched/src/Insight/InsightWorker/Tasks/ReadTargetMemory.hpp

51 lines
1.4 KiB
C++
Raw Normal View History

#pragma once
#include <cstdint>
#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<Targets::TargetMemoryAddressRange>& excludedAddressRanges = {}
2022-02-08 16:46:10 +00:00
)
: memoryType(memoryType)
, startAddress(startAddress)
, size(size)
2022-09-08 19:57:04 +01:00
, excludedAddressRanges(excludedAddressRanges)
{}
2023-03-15 20:16:07 +00:00
QString brief() const override {
return "Reading target " + QString(this->memoryType == Targets::TargetMemoryType::EEPROM ? "EEPROM" : "RAM");
}
2023-03-15 20:15:05 +00:00
TaskGroups taskGroups() const override {
return TaskGroups({
TaskGroup::USES_TARGET_CONTROLLER,
});
};
signals:
void targetMemoryRead(Targets::TargetMemoryBuffer buffer);
protected:
void run(Services::TargetControllerService& targetControllerService) override;
private:
Targets::TargetMemoryType memoryType;
Targets::TargetMemoryAddress startAddress;
Targets::TargetMemorySize size;
std::set<Targets::TargetMemoryAddressRange> excludedAddressRanges;
};
}