#pragma once #include #include #include "InsightWorkerTask.hpp" #include "src/Targets/TargetMemory.hpp" #include "src/Insight/UserInterfaces/InsightWindow/Widgets/TargetMemoryInspectionPane/MemorySnapshot.hpp" namespace Bloom { class CaptureMemorySnapshot: public InsightWorkerTask { Q_OBJECT public: CaptureMemorySnapshot( const QString& name, const QString& description, Targets::TargetMemoryType memoryType, const std::vector& focusedRegions, const std::vector& excludedRegions, const std::optional& data ); signals: void memorySnapshotCaptured(MemorySnapshot snapshot); protected: void run(TargetController::TargetControllerConsole& targetControllerConsole) override; private: QString name; QString description; Targets::TargetMemoryType memoryType; std::vector focusedRegions; std::vector excludedRegions; std::optional data; }; }