IO::Custom::Request Class Reference

#include <Request.h>

Inheritance diagram for IO::Custom::Request:
Collaboration diagram for IO::Custom::Request:

Public Member Functions

 Request (IO::Device &device)
 
DevicegetDevice ()
 
ErrorCode parseJson (JsonObjectConst json) override
 Fill this request from a JSON description. More...
 
void getJson (JsonObject json) const override
 Get result of a completed request in JSON format. More...
 
bool setValue (int value) override
 If nodes support values, implement this method. More...
 
int getValue () const
 
DevNode getNode () const
 
bool setNode (DevNode node) override
 If nodes are supported, implement this method. More...
 
void submit () override
 Submit a request. More...
 
- Public Member Functions inherited from IO::Request
 Request (Device &device)
 
 Request (const Request &)=delete
 
virtual ~Request ()
 
ErrorCode error () const
 Request error code defaults to 'pending' and is set on completion. More...
 
bool isPending () const
 
String caption () const
 Get a descriptive caption for this request. More...
 
void complete (ErrorCode err)
 
void setID (const String &value)
 Request identifiers are optional, useful for tracking remote requests. More...
 
void setCommand (Command cmd)
 Set the command code. More...
 
void onComplete (Callback callback)
 Set the request completion callback. More...
 
bool nodeQuery (DevNode node)
 
bool nodeOff (DevNode node)
 
bool nodeOn (DevNode node)
 
bool nodeToggle (DevNode node)
 
virtual DevNode::States getNodeStates (DevNode node)
 Query node status from response. More...
 
virtual bool setNodeState (DevNode node, DevNode::State state)
 
const CStringid () const
 Get the request ID, if there is one. More...
 
Command getCommand () const
 
virtual void handleEvent (Event event)
 Implementations may override this method as required. More...
 
bool nodeSet (DevNode node, int value)
 For nodes supporting analogue state (e.g. brightness) More...
 
bool nodeAdjust (DevNode node, int value)
 
- Public Member Functions inherited from LinkedObjectTemplate< Request >
Request * getNext () const
 
bool insertAfter (Request *object)
 
Iterator begin () const
 
Iterator end () const
 
Iterator cbegin () const
 
Iterator cend () const
 
- Public Member Functions inherited from LinkedObject
virtual ~LinkedObject ()
 
virtual LinkedObjectnext () const
 
bool insertAfter (LinkedObject *object)
 
bool operator== (const LinkedObject &other) const
 
bool operator!= (const LinkedObject &other) const
 

Additional Inherited Members

- Public Types inherited from IO::Request
using OwnedList = OwnedLinkedObjectListTemplate< Request >
 
using Callback = Delegate< void(const Request &request)>
 Per-request callback A request goes through the following states: More...
 
- Public Types inherited from LinkedObjectTemplate< Request >
using Iterator = IteratorTemplate< Request, Request *, Request & >
 
using ConstIterator = IteratorTemplate< const Request, const Request *, const Request & >
 
- Public Attributes inherited from IO::Request
Devicedevice
 

Constructor & Destructor Documentation

◆ Request()

IO::Custom::Request::Request ( IO::Device device)
inline

Member Function Documentation

◆ getDevice()

Device& IO::Custom::Request::getDevice ( )
inline

◆ getJson()

void IO::Custom::Request::getJson ( JsonObject  json) const
overridevirtual

Get result of a completed request in JSON format.

Reimplemented from IO::Request.

◆ getNode()

DevNode IO::Custom::Request::getNode ( ) const
inline

◆ getValue()

int IO::Custom::Request::getValue ( ) const
inline

◆ parseJson()

ErrorCode IO::Custom::Request::parseJson ( JsonObjectConst  json)
overridevirtual

Fill this request from a JSON description.

Reimplemented from IO::Request.

◆ setNode()

bool IO::Custom::Request::setNode ( DevNode  node)
inlineoverridevirtual

If nodes are supported, implement this method.

/

/**

Reimplemented from IO::Request.

◆ setValue()

bool IO::Custom::Request::setValue ( int  value)
inlineoverridevirtual

If nodes support values, implement this method.

Reimplemented from IO::Request.

◆ submit()

void IO::Custom::Request::submit ( )
overridevirtual

Submit a request.

The request is added to the controller's queue. If the queue is empty, it starts execution immediately. The result of the request is posted to the callback routine.

Reimplemented from IO::Request.


The documentation for this class was generated from the following file: