IO::Modbus::GenericRequest Class Reference

#include <GenericRequest.h>

Inheritance diagram for IO::Modbus::GenericRequest:
Collaboration diagram for IO::Modbus::GenericRequest:

Public Member Functions

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...
 
Function fillRequestData (PDU::Data &data) override
 
ErrorCode callback (PDU &pdu) override
 Process a received PDU. More...
 
 Request (Device &device)
 
- Public Member Functions inherited from IO::Modbus::Request
 Request (Device &device)
 
DevicegetDevice () const
 
bool setNode (DevNode node) override
 If nodes are supported, implement this method. More...
 
virtual uint16_t getAddress () const
 Allows per-request address override (e.g. for broadcast) More...
 
- Public Member Functions inherited from IO::RS485::Request
 Request (Device &device)
 
DevicegetDevice () const
 
- 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...
 
virtual void submit ()
 Submit a 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 bool setValue (int value)
 If nodes support values, implement this method. More...
 
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
 

Public Attributes

Function function
 
uint16_t count
 
uint16_t address
 
uint16_t offset
 
std::unique_ptr< uint16_t[]> values
 
std::unique_ptr< PDUpdu
 
- Public Attributes inherited from IO::Request
Devicedevice
 

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 & >
 

Member Function Documentation

◆ callback()

ErrorCode IO::Modbus::GenericRequest::callback ( PDU pdu)
overridevirtual

Process a received PDU.

Parameters
pdu
Return values
ErrorCodeIf request is re-submitted, return Error::pending, otherwise request will be completed with given error.

Implements IO::Modbus::Request.

◆ fillRequestData()

Function IO::Modbus::GenericRequest::fillRequestData ( PDU::Data data)
overridevirtual

Implements IO::Modbus::Request.

◆ getJson()

void IO::Modbus::GenericRequest::getJson ( JsonObject  json) const
overridevirtual

Get result of a completed request in JSON format.

Reimplemented from IO::Request.

◆ parseJson()

ErrorCode IO::Modbus::GenericRequest::parseJson ( JsonObjectConst  json)
overridevirtual

Fill this request from a JSON description.

Reimplemented from IO::Request.

◆ Request()

IO::Modbus::Request::Request
inline

Member Data Documentation

◆ address

uint16_t IO::Modbus::GenericRequest::address

◆ count

uint16_t IO::Modbus::GenericRequest::count

◆ function

Function IO::Modbus::GenericRequest::function

◆ offset

uint16_t IO::Modbus::GenericRequest::offset

◆ pdu

std::unique_ptr<PDU> IO::Modbus::GenericRequest::pdu

◆ values

std::unique_ptr<uint16_t[]> IO::Modbus::GenericRequest::values

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