Implemented new command-response-based interface for the TargetController
This commit is contained in:
22
src/TargetController/Responses/Error.hpp
Normal file
22
src/TargetController/Responses/Error.hpp
Normal file
@@ -0,0 +1,22 @@
|
||||
#pragma once
|
||||
|
||||
#include "Response.hpp"
|
||||
|
||||
namespace Bloom::TargetController::Responses
|
||||
{
|
||||
class Error: public Response
|
||||
{
|
||||
public:
|
||||
static constexpr ResponseType type = ResponseType::ERROR;
|
||||
|
||||
std::string errorMessage;
|
||||
|
||||
explicit Error(const std::string& errorMessage)
|
||||
: errorMessage(errorMessage)
|
||||
{}
|
||||
|
||||
[[nodiscard]] ResponseType getType() const override {
|
||||
return Error::type;
|
||||
}
|
||||
};
|
||||
}
|
||||
25
src/TargetController/Responses/Response.hpp
Normal file
25
src/TargetController/Responses/Response.hpp
Normal file
@@ -0,0 +1,25 @@
|
||||
#pragma once
|
||||
|
||||
#include "ResponseTypes.hpp"
|
||||
|
||||
namespace Bloom::TargetController::Responses
|
||||
{
|
||||
class Response
|
||||
{
|
||||
public:
|
||||
static constexpr ResponseType type = ResponseType::GENERIC;
|
||||
|
||||
Response() = default;
|
||||
virtual ~Response() = default;
|
||||
|
||||
Response(const Response& other) = default;
|
||||
Response(Response&& other) = default;
|
||||
|
||||
Response& operator = (const Response& other) = default;
|
||||
Response& operator = (Response&& other) = default;
|
||||
|
||||
[[nodiscard]] virtual ResponseType getType() const {
|
||||
return Response::type;
|
||||
}
|
||||
};
|
||||
}
|
||||
12
src/TargetController/Responses/ResponseTypes.hpp
Normal file
12
src/TargetController/Responses/ResponseTypes.hpp
Normal file
@@ -0,0 +1,12 @@
|
||||
#pragma once
|
||||
|
||||
#include <cstdint>
|
||||
|
||||
namespace Bloom::TargetController::Responses
|
||||
{
|
||||
enum class ResponseType: std::uint8_t
|
||||
{
|
||||
GENERIC,
|
||||
ERROR,
|
||||
};
|
||||
}
|
||||
Reference in New Issue
Block a user