opendnp3  3.1.0
Reference implementation of DNP3 (IEEE-1815)
opendnp3::UpdateBuilder Class Referencefinal

#include <opendnp3/outstation/UpdateBuilder.h>

Public Member Functions

Updates Build ()
 
bool FreezeCounter (uint16_t index, bool clear, EventMode mode=EventMode::Detect) override
 Freeze a Counter measurement. More...
 
bool Modify (FlagsType type, uint16_t start, uint16_t stop, uint8_t flags) override
 Update the flags of a measurement without changing it's value. More...
 
bool Update (const Analog &meas, uint16_t index, EventMode mode=EventMode::Detect) override
 Update an Analog measurement. More...
 
bool Update (const AnalogOutputStatus &meas, uint16_t index, EventMode mode=EventMode::Detect) override
 Update a AnalogOutputStatus measurement. More...
 
bool Update (const Binary &meas, uint16_t index, EventMode mode=EventMode::Detect) override
 Update a Binary measurement. More...
 
bool Update (const BinaryOutputStatus &meas, uint16_t index, EventMode mode=EventMode::Detect) override
 Update a BinaryOutputStatus measurement. More...
 
bool Update (const Counter &meas, uint16_t index, EventMode mode=EventMode::Detect) override
 Update a Counter measurement. More...
 
bool Update (const DoubleBitBinary &meas, uint16_t index, EventMode mode=EventMode::Detect) override
 Update a DoubleBitBinary measurement. More...
 
bool Update (const OctetString &meas, uint16_t index, EventMode mode=EventMode::Detect) override
 Update an octet string value. More...
 
bool Update (const TimeAndInterval &meas, uint16_t index) override
 Update a TimeAndInterval valueindex. More...
 
- Public Member Functions inherited from opendnp3::IUpdateHandler
virtual ~IUpdateHandler ()
 

Private Member Functions

bool Add (const update_func_t &fun)
 
template<class T >
bool AddMeas (const T &meas, uint16_t index, EventMode mode)
 

Private Attributes

std::shared_ptr< shared_updates_tupdates
 

Detailed Description

Definition at line 29 of file UpdateBuilder.h.

Member Function Documentation

◆ Add()

bool opendnp3::UpdateBuilder::Add ( const update_func_t fun)
private

◆ AddMeas()

template<class T >
bool opendnp3::UpdateBuilder::AddMeas ( const T &  meas,
uint16_t  index,
EventMode  mode 
)
private

◆ Build()

Updates opendnp3::UpdateBuilder::Build ( )

◆ FreezeCounter()

bool opendnp3::UpdateBuilder::FreezeCounter ( uint16_t  index,
bool  clear,
EventMode  mode = EventMode::Detect 
)
overridevirtual

Freeze a Counter measurement.

Parameters
indexindex of the measurement
clearclear the original counter
modeDescribes how event generation is handled for this method
Returns
true if the value exists and it was updated

Implements opendnp3::IUpdateHandler.

◆ Modify()

bool opendnp3::UpdateBuilder::Modify ( FlagsType  type,
uint16_t  start,
uint16_t  stop,
uint8_t  flags 
)
overridevirtual

Update the flags of a measurement without changing it's value.

Parameters
typeenumeration specifiy the type to change
startthe start index at which to begin changing flags
stopthe stop index at which to end changing flags
flagsthe new value of the flags

Implements opendnp3::IUpdateHandler.

◆ Update() [1/8]

bool opendnp3::UpdateBuilder::Update ( const Analog meas,
uint16_t  index,
EventMode  mode = EventMode::Detect 
)
overridevirtual

Update an Analog measurement.

Parameters
measmeasurement to be processed
indexindex of the measurement
modeDescribes how event generation is handled for this method
Returns
true if the value exists and it was updated

Implements opendnp3::IUpdateHandler.

◆ Update() [2/8]

bool opendnp3::UpdateBuilder::Update ( const AnalogOutputStatus meas,
uint16_t  index,
EventMode  mode = EventMode::Detect 
)
overridevirtual

Update a AnalogOutputStatus measurement.

Parameters
measmeasurement to be processed
indexindex of the measurement
modeDescribes how event generation is handled for this method
Returns
true if the value exists and it was updated

Implements opendnp3::IUpdateHandler.

◆ Update() [3/8]

bool opendnp3::UpdateBuilder::Update ( const Binary meas,
uint16_t  index,
EventMode  mode = EventMode::Detect 
)
overridevirtual

Update a Binary measurement.

Parameters
measmeasurement to be processed
indexindex of the measurement
modeDescribes how event generation is handled for this method
Returns
true if the value exists and it was updated

Implements opendnp3::IUpdateHandler.

◆ Update() [4/8]

bool opendnp3::UpdateBuilder::Update ( const BinaryOutputStatus meas,
uint16_t  index,
EventMode  mode = EventMode::Detect 
)
overridevirtual

Update a BinaryOutputStatus measurement.

Parameters
measmeasurement to be processed
indexindex of the measurement
modeDescribes how event generation is handled for this method
Returns
true if the value exists and it was updated

Implements opendnp3::IUpdateHandler.

◆ Update() [5/8]

bool opendnp3::UpdateBuilder::Update ( const Counter meas,
uint16_t  index,
EventMode  mode = EventMode::Detect 
)
overridevirtual

Update a Counter measurement.

Parameters
measmeasurement to be processed
indexindex of the measurement
modeDescribes how event generation is handled for this method
Returns
true if the value exists and it was updated

Implements opendnp3::IUpdateHandler.

◆ Update() [6/8]

bool opendnp3::UpdateBuilder::Update ( const DoubleBitBinary meas,
uint16_t  index,
EventMode  mode = EventMode::Detect 
)
overridevirtual

Update a DoubleBitBinary measurement.

Parameters
measmeasurement to be processed
indexindex of the measurement
modeDescribes how event generation is handled for this method
Returns
true if the value exists and it was updated

Implements opendnp3::IUpdateHandler.

◆ Update() [7/8]

bool opendnp3::UpdateBuilder::Update ( const OctetString meas,
uint16_t  index,
EventMode  mode = EventMode::Detect 
)
overridevirtual

Update an octet string value.

Parameters
measmeasurement to be processed
indexindex of the measurement
modeDescribes how event generation is handled for this method
Returns
true if the value exists and it was updated

Implements opendnp3::IUpdateHandler.

◆ Update() [8/8]

bool opendnp3::UpdateBuilder::Update ( const TimeAndInterval meas,
uint16_t  index 
)
overridevirtual

Update a TimeAndInterval valueindex.

Parameters
measmeasurement to be processed
indexindex of the measurement
Returns
true if the value exists and it was updated

Implements opendnp3::IUpdateHandler.

Member Data Documentation

◆ updates

std::shared_ptr<shared_updates_t> opendnp3::UpdateBuilder::updates
private

Definition at line 51 of file UpdateBuilder.h.


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