SDK::DDSSession: remove channel id to task id association

This commit is contained in:
Alexey Rybalchenko
2020-02-13 12:51:10 +01:00
committed by Dennis Klein
parent 3785fd9ff9
commit 0e72a9bf54
7 changed files with 19 additions and 27 deletions

View File

@@ -296,6 +296,7 @@ string Cmds::Serialize(const Format type) const
auto deviceId = fbb.CreateString(_cmd.GetDeviceId());
cmdBuilder = tools::make_unique<FBCommandBuilder>(fbb);
cmdBuilder->add_device_id(deviceId);
cmdBuilder->add_task_id(_cmd.GetTaskId());
cmdBuilder->add_result(GetFBResult(_cmd.GetResult()));
cmdBuilder->add_transition(GetFBTransition(_cmd.GetTransition()));
}
@@ -476,7 +477,7 @@ void Cmds::Deserialize(const string& str, const Format type)
fCmds.emplace_back(make<CurrentState>(cmdPtr.device_id()->str(), GetMQState(cmdPtr.current_state())));
break;
case FBCmd_transition_status:
fCmds.emplace_back(make<TransitionStatus>(cmdPtr.device_id()->str(), GetResult(cmdPtr.result()), GetMQTransition(cmdPtr.transition())));
fCmds.emplace_back(make<TransitionStatus>(cmdPtr.device_id()->str(), cmdPtr.task_id(), GetResult(cmdPtr.result()), GetMQTransition(cmdPtr.transition())));
break;
case FBCmd_config:
fCmds.emplace_back(make<Config>(cmdPtr.device_id()->str(), cmdPtr.config_string()->str()));

View File

@@ -51,7 +51,7 @@ enum class Type : int
set_properties, // args: { request_id, properties }
current_state, // args: { device_id, current_state }
transition_status, // args: { device_id, Result, transition }
transition_status, // args: { device_id, task_id, Result, transition }
config, // args: { device_id, config_string }
heartbeat_subscription, // args: { device_id, Result }
heartbeat_unsubscription, // args: { device_id, Result }
@@ -179,15 +179,18 @@ struct CurrentState : Cmd
struct TransitionStatus : Cmd
{
explicit TransitionStatus(const std::string& id, const Result result, const Transition transition)
explicit TransitionStatus(const std::string& deviceId, const uint64_t taskId, const Result result, const Transition transition)
: Cmd(Type::transition_status)
, fDeviceId(id)
, fDeviceId(deviceId)
, fTaskId(taskId)
, fResult(result)
, fTransition(transition)
{}
std::string GetDeviceId() const { return fDeviceId; }
void SetDeviceId(const std::string& deviceId) { fDeviceId = deviceId; }
uint64_t GetTaskId() const { return fTaskId; }
void SetTaskId(const uint64_t taskId) { fTaskId = taskId; }
Result GetResult() const { return fResult; }
void SetResult(const Result result) { fResult = result; }
Transition GetTransition() const { return fTransition; }
@@ -195,6 +198,7 @@ struct TransitionStatus : Cmd
private:
std::string fDeviceId;
uint64_t fTaskId;
Result fResult;
Transition fTransition;
};