#pragma once #include #include #include "../../Target.hpp" #include "TargetSignature.hpp" namespace Bloom::Targets::Microchip::Avr { class Target: public ::Bloom::Targets::Target { protected: std::optional id; virtual void setId(const TargetSignature& id) { this->id = id; } virtual TargetSignature getId() = 0; public: explicit Target() = default; std::string getHumanReadableId() override { return this->getId().toHex(); } }; }