2021-04-04 21:04:12 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include <set>
|
2021-06-22 23:52:31 +01:00
|
|
|
#include <utility>
|
2021-04-04 21:04:12 +01:00
|
|
|
|
|
|
|
|
#include "ResponsePacket.hpp"
|
|
|
|
|
#include "../Feature.hpp"
|
|
|
|
|
|
|
|
|
|
namespace Bloom::DebugServers::Gdb::ResponsePackets
|
|
|
|
|
{
|
|
|
|
|
/**
|
|
|
|
|
* The SupportedFeaturesResponse class implements the response packet structure for the "qSupported" command.
|
|
|
|
|
*/
|
|
|
|
|
class SupportedFeaturesResponse: public ResponsePacket
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
SupportedFeaturesResponse() = default;
|
2021-06-22 23:52:31 +01:00
|
|
|
explicit SupportedFeaturesResponse(std::set<std::pair<Feature, std::optional<std::string>>> supportedFeatures)
|
|
|
|
|
: supportedFeatures(std::move(supportedFeatures)) {};
|
2021-04-04 21:04:12 +01:00
|
|
|
|
2021-06-22 23:52:31 +01:00
|
|
|
[[nodiscard]] std::vector<unsigned char> getData() const override;
|
2021-10-06 21:12:31 +01:00
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
std::set<std::pair<Feature, std::optional<std::string>>> supportedFeatures;
|
2021-04-04 21:04:12 +01:00
|
|
|
};
|
|
|
|
|
}
|