IOControl/include/IO/Custom/Request.h
Go to the documentation of this file.
1 
22 #pragma once
23 
24 #include <IO/Request.h>
25 #include "Device.h"
26 
27 namespace IO::Custom
28 {
29 class Request : public IO::Request
30 {
31 public:
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 setValue(int value) override
46  {
47  this->value = value;
48  return true;
49  }
50 
51  int getValue() const
52  {
53  return value;
54  }
55 
56  DevNode getNode() const
57  {
58  return node;
59  }
60 
61  bool setNode(DevNode node) override
62  {
63  this->node = node;
64  return true;
65  }
66 
67  void submit() override;
68 
69 private:
70  DevNode node;
71  int value{0};
72 };
73 
74 } // namespace IO::Custom
int getValue() const
Definition: IOControl/include/IO/Custom/Request.h:51
Device & device
Definition: IOControl/include/IO/Request.h:280
void submit() override
Submit a request.
int16_t ErrorCode
Definition: Libraries/IOControl/include/IO/Error.h:27
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
Definition: IOControl/include/IO/Custom/Controller.h:24
DevNode getNode() const
Definition: IOControl/include/IO/Custom/Request.h:56
Definition: IOControl/include/IO/Controller.h:25
Device & getDevice()
Definition: IOControl/include/IO/Custom/Request.h:36
Definition: IOControl/include/IO/Custom/Request.h:29
ErrorCode parseJson(JsonObjectConst json) override
Fill this request from a JSON description.
Handles requests for a specific device; the requests are executed by the relevant controller.
Definition: Libraries/IOControl/include/IO/Device.h:35
Request(IO::Device &device)
Definition: IOControl/include/IO/Custom/Request.h:32
Json json
Definition: Libraries/IOControl/include/IO/Custom/Device.h:29
bool setValue(int value) override
If nodes support values, implement this method.
Definition: IOControl/include/IO/Custom/Request.h:45
bool setNode(DevNode node) override
If nodes are supported, implement this method.
Definition: IOControl/include/IO/Custom/Request.h:61
void getJson(JsonObject json) const override
Get result of a completed request in JSON format.