ClearInterval.hpp
1 #pragma once
2 #include <Scenario/Commands/ScenarioCommandFactory.hpp>
3 #include <Scenario/Tools/dataStructures.hpp>
4 
5 #include <Dataflow/Commands/CableHelpers.hpp>
6 
7 #include <score/command/Command.hpp>
8 #include <score/model/Identifier.hpp>
9 #include <score/model/path/Path.hpp>
10 #include <score/tools/std/Optional.hpp>
11 
12 #include <score_plugin_scenario_export.h>
13 
14 struct DataStreamInput;
15 struct DataStreamOutput;
16 namespace Scenario
17 {
18 class IntervalModel;
19 namespace Command
20 {
26 class SCORE_PLUGIN_SCENARIO_EXPORT ClearInterval final : public score::Command
27 {
28  SCORE_COMMAND_DECL(CommandFactoryName(), ClearInterval, "Clear a interval")
29 public:
30  ClearInterval(const IntervalModel& intervalPath);
31  void undo(const score::DocumentContext& ctx) const override;
32  void redo(const score::DocumentContext& ctx) const override;
33 
34 protected:
35  void serializeImpl(DataStreamInput&) const override;
36  void deserializeImpl(DataStreamOutput&) override;
37 
38 private:
39  IntervalSaveData m_intervalSaveData;
40  Dataflow::SerializedCables m_cables;
41 };
42 }
43 }
The ClearInterval class.
Definition: ClearInterval.hpp:27
Definition: IntervalModel.hpp:50
The Command class.
Definition: Command.hpp:34
Main plug-in of score.
Definition: score-plugin-dataflow/Dataflow/PortItem.hpp:14
Definition: DataStreamHelpers.hpp:99
Definition: DataStreamHelpers.hpp:103
Definition: dataStructures.hpp:40
Definition: DocumentContext.hpp:18