New GdbDebugServerConfig class, for GDB specific config parameters

This commit is contained in:
Nav
2022-03-19 15:15:36 +00:00
parent 26474150d7
commit 18f08d8faa
3 changed files with 49 additions and 0 deletions

View File

@@ -126,6 +126,7 @@ add_executable(Bloom
# Debug servers # Debug servers
src/DebugServers/DebugServer.cpp src/DebugServers/DebugServer.cpp
src/DebugServers/GdbRsp/GdbRspDebugServer.cpp src/DebugServers/GdbRsp/GdbRspDebugServer.cpp
src/DebugServers/GdbRsp/GdbDebugServerConfig.cpp
src/DebugServers/GdbRsp/AvrGdbRsp/AvrGdbRsp.cpp src/DebugServers/GdbRsp/AvrGdbRsp/AvrGdbRsp.cpp
src/DebugServers/GdbRsp/Connection.cpp src/DebugServers/GdbRsp/Connection.cpp
src/DebugServers/GdbRsp/CommandPackets/CommandPacket.cpp src/DebugServers/GdbRsp/CommandPackets/CommandPacket.cpp

View File

@@ -0,0 +1,19 @@
#include "GdbDebugServerConfig.hpp"
namespace Bloom::DebugServers::Gdb
{
GdbDebugServerConfig::GdbDebugServerConfig(const DebugServerConfig& debugServerConfig)
: DebugServerConfig(debugServerConfig)
{
if (debugServerConfig.jsonObject.contains("ipAddress")) {
this->listeningAddress = debugServerConfig.jsonObject.value("ipAddress").toString().toStdString();
}
if (debugServerConfig.jsonObject.contains("port")) {
const auto portValue = debugServerConfig.jsonObject.value("port");
this->listeningPortNumber = static_cast<std::uint16_t>(
portValue.isString() ? portValue.toString().toInt(nullptr, 10) : portValue.toInt()
);
}
}
}

View File

@@ -0,0 +1,29 @@
#pragma once
#include "src/ProjectConfig.hpp"
namespace Bloom::DebugServers::Gdb
{
/**
* Extending the generic DebugServerConfig struct to accommodate GDB debug server configuration parameters.
*/
class GdbDebugServerConfig: public DebugServerConfig
{
public:
/**
* The port number for the GDB server to listen on.
*
* This parameter is optional. If not specified, the default value set here will be used.
*/
std::uint16_t listeningPortNumber = 1442;
/**
* The address for the GDB server to listen on.
*
* This parameter is optional. If not specified, the default value set here will be used.
*/
std::string listeningAddress = "127.0.0.1";
explicit GdbDebugServerConfig(const DebugServerConfig& debugServerConfig);
};
}