Loading...
Searching...
No Matches
RemoveMessageNodes.hpp
1#pragma once
2#include <Process/State/MessageNode.hpp>
3
4#include <Scenario/Commands/ScenarioCommandFactory.hpp>
5
6#include <score/command/Command.hpp>
7#include <score/model/path/Path.hpp>
8
9struct DataStreamInput;
10struct DataStreamOutput;
11
12namespace Scenario
13{
14class StateModel;
15
16namespace Command
17{
19{
20 SCORE_COMMAND_DECL(CommandFactoryName(), RemoveMessageNodes, "Remove user messages")
21
22public:
24 const Scenario::StateModel& model,
25 const std::vector<const Process::MessageNode*>&);
26
27 void undo(const score::DocumentContext& ctx) const override;
28 void redo(const score::DocumentContext& ctx) const override;
29
30protected:
31 void serializeImpl(DataStreamInput&) const override;
32 void deserializeImpl(DataStreamOutput&) override;
33
34private:
35 Path<StateModel> m_path;
36 Process::MessageNode m_oldState;
37 Process::MessageNode m_newState;
38};
39}
40}
The Path class is a typesafe wrapper around ObjectPath.
Definition Path.hpp:52
Definition RemoveMessageNodes.hpp:19
Definition StateModel.hpp:63
The Command class.
Definition Command.hpp:34
Main plug-in of score.
Definition score-plugin-dataflow/Dataflow/PortItem.hpp:13
Definition DataStreamHelpers.hpp:99
Definition DataStreamHelpers.hpp:103
Definition DocumentContext.hpp:18