IOControl/include/IO/DMX512/Request.h
Go to the documentation of this file.
1 
22 #pragma once
23 
24 #include "../Request.h"
25 #include "Device.h"
26 
27 namespace IO::DMX512
28 {
29 class Request : public IO::Request
30 {
31 public:
32  Request(Device& device) : IO::Request(static_cast<IO::Device&>(device))
33  {
34  }
35 
37  {
38  return static_cast<Device&>(device);
39  }
40 
41  ErrorCode parseJson(JsonObjectConst json) override;
42 
43  void getJson(JsonObject json) const override;
44 
45  bool setNode(DevNode node) override;
46 
47  DevNode node() const
48  {
49  return devNode;
50  }
51 
52  bool setValue(int value) override
53  {
54  this->value = value;
55  return true;
56  }
57 
58  int getValue() const
59  {
60  return value;
61  }
62 
63  void submit() override;
64 
65 private:
66  int value{};
67  DevNode devNode{};
68 };
69 
70 } // namespace IO::DMX512
Device & device
Definition: IOControl/include/IO/Request.h:280
int16_t ErrorCode
Definition: Libraries/IOControl/include/IO/Error.h:27
void getJson(JsonObject json) const override
Get result of a completed request in JSON format.
Request represents a single user request/response over a bus.
Definition: IOControl/include/IO/Request.h:79
Identifies a device node.
Definition: DevNode.h:30
int getValue() const
Definition: IOControl/include/IO/DMX512/Request.h:58
Definition: IOControl/include/IO/Controller.h:25
ErrorCode parseJson(JsonObjectConst json) override
Fill this request from a JSON description.
Definition: Libraries/IOControl/include/IO/DMX512/Device.h:114
Definition: Libraries/IOControl/include/IO/DMX512/Device.h:27
Request(Device &device)
Definition: IOControl/include/IO/DMX512/Request.h:32
Json json
void submit() override
Submit a request.
bool setValue(int value) override
If nodes support values, implement this method.
Definition: IOControl/include/IO/DMX512/Request.h:52
DevNode node() const
Definition: IOControl/include/IO/DMX512/Request.h:47
Device & getDevice()
Definition: IOControl/include/IO/DMX512/Request.h:36
bool setNode(DevNode node) override
If nodes are supported, implement this method.
Definition: IOControl/include/IO/DMX512/Request.h:29