42 static_assert(std::is_base_of_v<ISSCSMRequest, T>);
46 return std::make_unique<T>(request);
52 static_assert(std::is_base_of_v<ISSCSMAnswer, T>);
59 auto ptr =
dynamic_cast<T *
>(answer_serialized.get());
63 return std::move(*ptr);
69 static_assert(std::is_base_of_v<ISSCSMAnswer, T>);
74 return std::make_unique<T>(std::move(answer));
81 return request_serialized;
The purpose of this class is to:
Definition sscsm_controller.h:25
Definition exceptions.h:51
Definition activeobjectmgr.cpp:11
std::unique_ptr< ISSCSMRequest > deserializeSSCSMRequest(SerializedSSCSMRequest request_serialized)
Definition sscsm_irequest.h:77
T deserializeSSCSMAnswer(SerializedSSCSMAnswer answer_serialized)
Definition sscsm_irequest.h:50
SerializedSSCSMAnswer serializeSSCSMAnswer(T &&answer)
Definition sscsm_irequest.h:67
std::unique_ptr< ISSCSMAnswer > SerializedSSCSMAnswer
Definition sscsm_irequest.h:25
std::unique_ptr< ISSCSMRequest > SerializedSSCSMRequest
Definition sscsm_irequest.h:37
SerializedSSCSMRequest serializeSSCSMRequest(const T &request)
Definition sscsm_irequest.h:40
Definition sscsm_irequest.h:17
virtual ~ISSCSMAnswer()=default
Definition sscsm_irequest.h:29
virtual ~ISSCSMRequest()=default
virtual SerializedSSCSMAnswer exec(Client *client)=0