IOControl/include/IO/Request.h
Go to the documentation of this file.
bool fromString(IO::Command &cmd, const char *str)
String toString(IO::Command cmd)
Class to manage a NUL-terminated C-style string When storing persistent strings in RAM the regular St...
Definition: CString.h:27
Handles requests for a specific device; the requests are executed by the relevant controller.
Definition: Libraries/IOControl/include/IO/Device.h:36
Request represents a single user request/response over a bus.
Definition: IOControl/include/IO/Request.h:80
virtual bool setNodeState(DevNode node, DevNode::State state)
Definition: IOControl/include/IO/Request.h:250
ErrorCode error() const
Request error code defaults to 'pending' and is set on completion.
Definition: IOControl/include/IO/Request.h:115
bool nodeAdjust(DevNode node, int value)
Definition: IOControl/include/IO/Request.h:215
Request(const Request &)=delete
void setCommand(Command cmd)
Set the command code.
Definition: IOControl/include/IO/Request.h:167
virtual void handleEvent(Event event)
Implementations may override this method as required.
void complete(ErrorCode err)
virtual void getJson(JsonObject json) const
Get result of a completed request in JSON format.
virtual bool setValue(int)
If nodes support values, implement this method.
Definition: IOControl/include/IO/Request.h:233
virtual DevNode::States getNodeStates(DevNode)
Query node status from response.
Definition: IOControl/include/IO/Request.h:241
void setID(const String &value)
Request identifiers are optional, useful for tracking remote requests.
Definition: IOControl/include/IO/Request.h:159
virtual ErrorCode parseJson(JsonObjectConst json)
Fill this request from a JSON description.
virtual bool setNode(DevNode)
If nodes are supported, implement this method.
Definition: IOControl/include/IO/Request.h:225
void onComplete(Callback callback)
Set the request completion callback.
Definition: IOControl/include/IO/Request.h:176
const CString & id() const
Get the request ID, if there is one.
Definition: IOControl/include/IO/Request.h:265
bool nodeSet(DevNode node, int value)
For nodes supporting analogue state (e.g. brightness)
Definition: IOControl/include/IO/Request.h:209
Base class template for linked items with type casting.
Definition: LinkedObject.h:60
Json json
Definition: IOControl/include/IO/Controller.h:26
XX(tag, comment)
@ unknown
1.9.1