RemoveSlotFromRack.hpp
1 #pragma once
2 #include <Scenario/Commands/ScenarioCommandFactory.hpp>
3 #include <Scenario/Document/Interval/Slot.hpp>
4 
5 #include <score/command/Command.hpp>
6 #include <score/model/Identifier.hpp>
7 #include <score/model/path/Path.hpp>
8 #include <score/tools/std/Optional.hpp>
9 
10 namespace Scenario
11 {
12 namespace Command
13 {
19 class RemoveSlotFromRack final : public score::Command
20 {
21  SCORE_COMMAND_DECL(CommandFactoryName(), RemoveSlotFromRack, "Remove a slot")
22 public:
23  RemoveSlotFromRack(SlotPath slotPath, Slot slt);
24 
25  void undo(const score::DocumentContext& ctx) const override;
26  void redo(const score::DocumentContext& ctx) const override;
27 
28 protected:
29  void serializeImpl(DataStreamInput&) const override;
30  void deserializeImpl(DataStreamOutput&) override;
31 
32 private:
33  SlotPath m_path;
34  Slot m_slot;
35 };
36 }
37 }
The RemoveSlotFromRack class.
Definition: RemoveSlotFromRack.hpp:20
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: Slot.hpp:8
Definition: Slot.hpp:54
Definition: DocumentContext.hpp:18