UpdateAddressSettings.hpp
1 #pragma once
2 #include <Device/Address/AddressSettings.hpp>
3 #include <Device/Node/DeviceNode.hpp>
4 
5 #include <Explorer/Commands/DeviceExplorerCommandFactory.hpp>
6 
7 #include <score/command/Command.hpp>
8 #include <score/model/path/Path.hpp>
9 
10 struct DataStreamInput;
11 struct DataStreamOutput;
12 
13 namespace Explorer
14 {
15 class DeviceDocumentPlugin;
16 namespace Command
17 {
19 {
20  SCORE_COMMAND_DECL(
21  DeviceExplorerCommandFactoryName(), UpdateAddressSettings, "Update an address")
22 public:
24  const DeviceDocumentPlugin& devplug, const Device::NodePath& node,
25  const Device::AddressSettings& parameters);
26 
27  void undo(const score::DocumentContext& ctx) const override;
28  void redo(const score::DocumentContext& ctx) const override;
29 
30 protected:
31  void serializeImpl(DataStreamInput&) const override;
32  void deserializeImpl(DataStreamOutput&) override;
33 
34 private:
35  Device::NodePath m_node;
36 
37  Device::AddressSettings m_oldParameters;
38  Device::AddressSettings m_newParameters;
39 };
40 }
41 }
Definition: UpdateAddressSettings.hpp:19
Path in a tree of QAbstractItemModel objects.
Definition: TreePath.hpp:34
The Command class.
Definition: Command.hpp:34
Definition: DataStreamHelpers.hpp:99
Definition: DataStreamHelpers.hpp:103
Definition: AddressSettings.hpp:49
Definition: DocumentContext.hpp:18