opendnp3  3.1.0
Reference implementation of DNP3 (IEEE-1815)
opendnp3::ICommandHandler Class Referenceabstract

Interface used to dispatch SELECT / OPERATE / DIRECT OPERATE (Binary/Analog output) from the outstation to application code. More...

#include <opendnp3/outstation/ICommandHandler.h>

Public Member Functions

virtual ~ICommandHandler ()=default
 
virtual void Begin ()=0
 called when a command APDU begins processing More...
 
virtual void End ()=0
 called when a command APDU ends processing More...
 
virtual CommandStatus Operate (const AnalogOutputDouble64 &command, uint16_t index, IUpdateHandler &handler, OperateType opType)=0
 Operate a double precision, floating point analog output - group 41 variation 4. More...
 
virtual CommandStatus Operate (const AnalogOutputFloat32 &command, uint16_t index, IUpdateHandler &handler, OperateType opType)=0
 Operate a single precision, floating point analog output - group 41 variation 3. More...
 
virtual CommandStatus Operate (const AnalogOutputInt16 &command, uint16_t index, IUpdateHandler &handler, OperateType opType)=0
 Ask if the application supports a 16 bit analog output - group 41 variation 2. More...
 
virtual CommandStatus Operate (const AnalogOutputInt32 &command, uint16_t index, IUpdateHandler &handler, OperateType opType)=0
 Operate a 32 bit analog output - group 41 variation 1. More...
 
virtual CommandStatus Operate (const ControlRelayOutputBlock &command, uint16_t index, IUpdateHandler &handler, OperateType opType)=0
 Operate a ControlRelayOutputBlock - group 12 variation 1. More...
 
virtual CommandStatus Select (const AnalogOutputDouble64 &command, uint16_t index)=0
 Ask if the application supports a double precision, floating point analog output - group 41 variation 4. More...
 
virtual CommandStatus Select (const AnalogOutputFloat32 &command, uint16_t index)=0
 Ask if the application supports a single precision, floating point analog output - group 41 variation 3. More...
 
virtual CommandStatus Select (const AnalogOutputInt16 &command, uint16_t index)=0
 Ask if the application supports a 16 bit analog output - group 41 variation 2. More...
 
virtual CommandStatus Select (const AnalogOutputInt32 &command, uint16_t index)=0
 Ask if the application supports a 32 bit analog output - group 41 variation 1. More...
 
virtual CommandStatus Select (const ControlRelayOutputBlock &command, uint16_t index)=0
 Ask if the application supports a ControlRelayOutputBlock - group 12 variation 1. More...
 

Detailed Description

Interface used to dispatch SELECT / OPERATE / DIRECT OPERATE (Binary/Analog output) from the outstation to application code.

The ITransactable sub-interface is used to determine the start and end of an ASDU containing commands.

Definition at line 38 of file ICommandHandler.h.

Constructor & Destructor Documentation

◆ ~ICommandHandler()

virtual opendnp3::ICommandHandler::~ICommandHandler ( )
virtualdefault

Member Function Documentation

◆ Begin()

virtual void opendnp3::ICommandHandler::Begin ( )
pure virtual

called when a command APDU begins processing

Implemented in opendnp3::SimpleCommandHandler.

◆ End()

virtual void opendnp3::ICommandHandler::End ( )
pure virtual

called when a command APDU ends processing

Implemented in opendnp3::SimpleCommandHandler.

◆ Operate() [1/5]

virtual CommandStatus opendnp3::ICommandHandler::Operate ( const AnalogOutputDouble64 command,
uint16_t  index,
IUpdateHandler handler,
OperateType  opType 
)
pure virtual

Operate a double precision, floating point analog output - group 41 variation 4.

Parameters
commandcommand to operate
indexindex of the command
handlerinterface for loading measurement changes
opTypethe operation type the outstation received.
Returns
result of request

Implemented in opendnp3::SimpleCommandHandler.

◆ Operate() [2/5]

virtual CommandStatus opendnp3::ICommandHandler::Operate ( const AnalogOutputFloat32 command,
uint16_t  index,
IUpdateHandler handler,
OperateType  opType 
)
pure virtual

Operate a single precision, floating point analog output - group 41 variation 3.

Parameters
commandcommand to operate
indexindex of the command
handlerinterface for loading measurement changes
opTypethe operation type the outstation received.
Returns
result of request

Implemented in opendnp3::SimpleCommandHandler.

◆ Operate() [3/5]

virtual CommandStatus opendnp3::ICommandHandler::Operate ( const AnalogOutputInt16 command,
uint16_t  index,
IUpdateHandler handler,
OperateType  opType 
)
pure virtual

Ask if the application supports a 16 bit analog output - group 41 variation 2.

Parameters
commandcommand to operate
indexindex of the command
handlerinterface for loading measurement changes
opTypethe operation type the outstation received.
Returns
result of request

Implemented in opendnp3::SimpleCommandHandler.

◆ Operate() [4/5]

virtual CommandStatus opendnp3::ICommandHandler::Operate ( const AnalogOutputInt32 command,
uint16_t  index,
IUpdateHandler handler,
OperateType  opType 
)
pure virtual

Operate a 32 bit analog output - group 41 variation 1.

Parameters
commandcommand to operate
indexindex of the command
handlerinterface for loading measurement changes
opTypethe operation type the outstation received.
Returns
result of request

Implemented in opendnp3::SimpleCommandHandler.

◆ Operate() [5/5]

virtual CommandStatus opendnp3::ICommandHandler::Operate ( const ControlRelayOutputBlock command,
uint16_t  index,
IUpdateHandler handler,
OperateType  opType 
)
pure virtual

Operate a ControlRelayOutputBlock - group 12 variation 1.

Parameters
commandcommand to operate
indexindex of the command
handlerinterface for loading measurement changes
opTypethe operation type the outstation received.
Returns
result of request

Implemented in opendnp3::SimpleCommandHandler.

◆ Select() [1/5]

virtual CommandStatus opendnp3::ICommandHandler::Select ( const AnalogOutputDouble64 command,
uint16_t  index 
)
pure virtual

Ask if the application supports a double precision, floating point analog output - group 41 variation 4.

Parameters
commandcommand to operate
indexindex of the command
Returns
result of request

Implemented in opendnp3::SimpleCommandHandler.

◆ Select() [2/5]

virtual CommandStatus opendnp3::ICommandHandler::Select ( const AnalogOutputFloat32 command,
uint16_t  index 
)
pure virtual

Ask if the application supports a single precision, floating point analog output - group 41 variation 3.

Parameters
commandcommand to operate
indexindex of the command
Returns
result of request

Implemented in opendnp3::SimpleCommandHandler.

◆ Select() [3/5]

virtual CommandStatus opendnp3::ICommandHandler::Select ( const AnalogOutputInt16 command,
uint16_t  index 
)
pure virtual

Ask if the application supports a 16 bit analog output - group 41 variation 2.

Parameters
commandcommand to operate
indexindex of the command
Returns
result of request

Implemented in opendnp3::SimpleCommandHandler.

◆ Select() [4/5]

virtual CommandStatus opendnp3::ICommandHandler::Select ( const AnalogOutputInt32 command,
uint16_t  index 
)
pure virtual

Ask if the application supports a 32 bit analog output - group 41 variation 1.

Parameters
commandcommand to operate
indexindex of the command
Returns
result of request

Implemented in opendnp3::SimpleCommandHandler.

◆ Select() [5/5]

virtual CommandStatus opendnp3::ICommandHandler::Select ( const ControlRelayOutputBlock command,
uint16_t  index 
)
pure virtual

Ask if the application supports a ControlRelayOutputBlock - group 12 variation 1.

Parameters
commandcommand to operate
indexindex of the command
Returns
result of request

Implemented in opendnp3::SimpleCommandHandler.


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