opendnp3
3.1.0
Reference implementation of DNP3 (IEEE-1815)
|
Interface for all outstation application callback info except for control requests. More...
#include <opendnp3/outstation/IOutstationApplication.h>
Public Member Functions | |
virtual | ~IOutstationApplication ()=default |
virtual uint16_t | ColdRestart () |
The outstation should perform a complete restart. More... | |
virtual RestartMode | ColdRestartSupport () const |
Query the outstation for the cold restart mode it supports. More... | |
virtual ApplicationIIN | GetApplicationIIN () const |
Returns the application-controlled IIN field. More... | |
virtual void | OnConfirmProcessed (bool is_unsolicited, uint32_t num_class1, uint32_t num_class2, uint32_t num_class3) |
This method notifies that application code that an expected CONFIRM has been received, and events may have cleared from the event buffer. More... | |
virtual void | RecordClassAssignment (AssignClassType type, PointClass clazz, uint16_t start, uint16_t stop) |
Called if SupportsAssignClass returns true The type and range are pre-validated against the outstation's database and class assignments are automatically applied internally. More... | |
virtual bool | SupportsAssignClass () |
True if the outstation supports the assign class function code If this function returns false, the assign class callbacks will never be called and the outstation will return IIN 2.1 (FUNC_NOT_SUPPORTED) when it receives this function code. More... | |
virtual bool | SupportsWriteAbsoluteTime () |
Queries whether the the outstation supports absolute time writes If this function returns false, WriteAbsoluteTime will never be called and the outstation will return IIN 2.1 (FUNC_NOT_SUPPORTED) More... | |
virtual bool | SupportsWriteTimeAndInterval () |
Queries whether the outstation supports the writing of TimeAndInterval If this function returns false, WriteTimeAndInterval will never be called and the outstation will return IIN 2.1 (FUNC_NOT_SUPPORTED) when it receives this request. More... | |
virtual uint16_t | WarmRestart () |
The outstation should perform a partial restart of only the DNP3 application. More... | |
virtual RestartMode | WarmRestartSupport () const |
Query the outstation for the warm restart mode it supports. More... | |
virtual bool | WriteAbsoluteTime (const UTCTimestamp ×tamp) |
Write the time to outstation, only called if SupportsWriteAbsoluteTime return true. More... | |
virtual bool | WriteTimeAndInterval (const ICollection< Indexed< TimeAndInterval >> &values) |
Write one or more TimeAndInterval values. More... | |
Public Member Functions inherited from opendnp3::ILinkListener | |
virtual void | OnKeepAliveFailure () |
Called when a keep alive message (request link status) receives no response. More... | |
virtual void | OnKeepAliveInitiated () |
Called when the keep alive timer elapses. This doesn't denote a keep-alive failure, it's just a notification. More... | |
virtual void | OnKeepAliveSuccess () |
Called when a keep alive message receives a valid response. More... | |
virtual void | OnStateChange (LinkStatus value) |
Called when a the reset/unreset status of the link layer changes. More... | |
virtual void | OnUnknownDestinationAddress (uint16_t destination) |
Called when a link-layer frame is received from an unknown destination address. More... | |
virtual void | OnUnknownSourceAddress (uint16_t source) |
Called when a link-layer frame is received from an unknown source address. More... | |
Public Member Functions inherited from opendnp3::IDnpTimeSource | |
virtual DNPTime | Now () |
Returns a DNPTime of the current time. More... | |
Interface for all outstation application callback info except for control requests.
Definition at line 42 of file IOutstationApplication.h.
|
virtualdefault |
|
inlinevirtual |
The outstation should perform a complete restart.
See the DNP3 specification for a complete descripton of normal behavior
Reimplemented in opendnp3::DefaultOutstationApplication.
Definition at line 116 of file IOutstationApplication.h.
|
inlinevirtual |
Query the outstation for the cold restart mode it supports.
Reimplemented in opendnp3::DefaultOutstationApplication.
Definition at line 101 of file IOutstationApplication.h.
References opendnp3::UNSUPPORTED.
|
inlinevirtual |
Returns the application-controlled IIN field.
Reimplemented in opendnp3::DefaultOutstationApplication.
Definition at line 95 of file IOutstationApplication.h.
|
inlinevirtual |
This method notifies that application code that an expected CONFIRM has been received, and events may have cleared from the event buffer.
It is informational only.
is_unsolicited | true, if the confirm is for an unsolicited response, false for a solicited response |
num_class1 | number of Class 1 events remaining in the event buffer after processing the confirm |
num_class2 | number of Class 2 events remaining in the event buffer after processing the confirm |
num_class3 | number of Class 3 events remaining in the event buffer after processing the confirm |
Definition at line 138 of file IOutstationApplication.h.
|
inlinevirtual |
Called if SupportsAssignClass returns true The type and range are pre-validated against the outstation's database and class assignments are automatically applied internally.
This callback allows user code to persist the changes to non-volatile memory
Reimplemented in opendnp3::DefaultOutstationApplication.
Definition at line 92 of file IOutstationApplication.h.
|
inlinevirtual |
True if the outstation supports the assign class function code If this function returns false, the assign class callbacks will never be called and the outstation will return IIN 2.1 (FUNC_NOT_SUPPORTED) when it receives this function code.
Reimplemented in opendnp3::DefaultOutstationApplication.
Definition at line 83 of file IOutstationApplication.h.
|
inlinevirtual |
Queries whether the the outstation supports absolute time writes If this function returns false, WriteAbsoluteTime will never be called and the outstation will return IIN 2.1 (FUNC_NOT_SUPPORTED)
Reimplemented in opendnp3::DefaultOutstationApplication.
Definition at line 48 of file IOutstationApplication.h.
|
inlinevirtual |
Queries whether the outstation supports the writing of TimeAndInterval If this function returns false, WriteTimeAndInterval will never be called and the outstation will return IIN 2.1 (FUNC_NOT_SUPPORTED) when it receives this request.
Reimplemented in opendnp3::DefaultOutstationApplication.
Definition at line 65 of file IOutstationApplication.h.
|
inlinevirtual |
The outstation should perform a partial restart of only the DNP3 application.
See the DNP3 specification for a complete descripton of normal behavior
Reimplemented in opendnp3::DefaultOutstationApplication.
Definition at line 125 of file IOutstationApplication.h.
|
inlinevirtual |
Query the outstation for the warm restart mode it supports.
Reimplemented in opendnp3::DefaultOutstationApplication.
Definition at line 107 of file IOutstationApplication.h.
References opendnp3::UNSUPPORTED.
|
inlinevirtual |
Write the time to outstation, only called if SupportsWriteAbsoluteTime return true.
Reimplemented in opendnp3::DefaultOutstationApplication.
Definition at line 57 of file IOutstationApplication.h.
|
inlinevirtual |
Write one or more TimeAndInterval values.
Only called if SupportsWriteTimeAndInterval returns true. The outstation application code is reponsible for updating TimeAndInterval values in the database if this behavior is desired
Reimplemented in opendnp3::DefaultOutstationApplication.
Definition at line 75 of file IOutstationApplication.h.