Moved vFlashDone GDB command packet handelr to separate class

This commit is contained in:
Nav
2022-06-05 16:15:12 +01:00
parent 9b8d4f054b
commit 40b1183f6b
5 changed files with 65 additions and 6 deletions

View File

@@ -0,0 +1,35 @@
#include "FlashDone.hpp"
#include "src/DebugServer/Gdb/ResponsePackets/ErrorResponsePacket.hpp"
#include "src/DebugServer/Gdb/ResponsePackets/OkResponsePacket.hpp"
#include "src/Logger/Logger.hpp"
#include "src/Exceptions/Exception.hpp"
namespace Bloom::DebugServer::Gdb::AvrGdb::CommandPackets
{
using TargetController::TargetControllerConsole;
using ResponsePackets::ErrorResponsePacket;
using ResponsePackets::OkResponsePacket;
using namespace Bloom::Exceptions;
FlashDone::FlashDone(const RawPacketType& rawPacket)
: MemoryAccessCommandPacket(rawPacket)
{}
void FlashDone::handle(DebugSession& debugSession, TargetControllerConsole& targetControllerConsole) {
Logger::debug("Handling FlashDone packet");
try {
targetControllerConsole.disableProgrammingMode();
debugSession.connection.writePacket(OkResponsePacket());
} catch (const Exception& exception) {
Logger::error("Failed to disabling programming mode - " + exception.getMessage());
debugSession.connection.writePacket(ErrorResponsePacket());
}
}
}