#pragma once #include #include "TargetDescriptor.hpp" #include "src/DebugServer/Gdb/GdbRspDebugServer.hpp" namespace Bloom::DebugServer::Gdb::AvrGdb { class AvrGdbRsp: public GdbRspDebugServer { public: AvrGdbRsp( const DebugServerConfig& debugServerConfig, EventListener& eventListener, EventFdNotifier& eventNotifier ); std::string getName() const override { return "AVR GDB Remote Serial Protocol Debug Server"; } protected: void init() override; const Gdb::TargetDescriptor& getGdbTargetDescriptor() override { return this->gdbTargetDescriptor.value(); } std::unique_ptr resolveCommandPacket( const RawPacket& rawPacket ) override; std::set>> getSupportedFeatures() override; private: std::optional gdbTargetDescriptor; }; }