event_detector 1.0.0
Loading...
Searching...
No Matches
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
event_detector::AnalysisRule Class Referenceabstract

Abstract class defining a rule for identifying relevant data. More...

#include <AnalysisRule.hpp>

Public Member Functions

 AnalysisRule ()
 Creates a new AnalysisRule.
 
virtual std::string getRuleName () const =0
 Defines the rule's name.
 
void initialize (EventDetector *ed, std::shared_ptr< BufferManager > buffer)
 Initializes the rule.
 
virtual void loadRuleParameters ()=0
 Sets the rule's parameters.
 
virtual void evaluate ()=0
 Evaluates the rule.
 

Protected Member Functions

virtual void onInitialize ()=0
 Callback for when the rule is initialized.
 
rclcpp::Parameter loadRuleParameter (const std::string &parameter_name)
 Loads a rule parameter.
 
template<typename T >
bool loadRuleParameter (const std::string &parameter_name, T &out_value, const T &default_value)
 Loads a rule parameter if set, else uses default value.
 

Protected Attributes

EventDetectored_
 EventDetector node.
 
std::shared_ptr< BufferManagerbuffer_
 BufferManager component.
 

Detailed Description

Abstract class defining a rule for identifying relevant data.

Definition at line 40 of file AnalysisRule.hpp.

Constructor & Destructor Documentation

◆ AnalysisRule()

event_detector::AnalysisRule::AnalysisRule ( )

Creates a new AnalysisRule.

Initialization takes place in the initialize() method.

Member Function Documentation

◆ evaluate()

virtual void event_detector::AnalysisRule::evaluate ( )
pure virtual

Evaluates the rule.

Must be overridden by derived rules. Will be automatically called by the AnalysisManager as part of rule evaluation.

◆ getRuleName()

virtual std::string event_detector::AnalysisRule::getRuleName ( ) const
pure virtual

Defines the rule's name.

Must be overridden by derived rules. Should match the plugin's name.

Returns
std::string rule name

◆ initialize()

void event_detector::AnalysisRule::initialize ( EventDetector ed,
std::shared_ptr< BufferManager buffer 
)

Initializes the rule.

Called by the AnalysisManager when the rule is loaded into the manager. Constructor is not allowed to take arguments.

Parameters
edEventDetector node
bufferBufferManager component

◆ loadRuleParameter() [1/2]

rclcpp::Parameter event_detector::AnalysisRule::loadRuleParameter ( const std::string &  parameter_name)
protected

Loads a rule parameter.

Parameters
parameter_nameparameter name
Returns
rclcpp::Parameter parameter value

◆ loadRuleParameter() [2/2]

template<typename T >
bool event_detector::AnalysisRule::loadRuleParameter ( const std::string &  parameter_name,
T &  out_value,
const T &  default_value 
)
protected

Loads a rule parameter if set, else uses default value.

Parameters
parameter_nameparameter name
out_valuevariable to store parameter value
default_valuedefault value to use if parameter is not set
Returns
true if parameter was set, false otherwise

◆ loadRuleParameters()

virtual void event_detector::AnalysisRule::loadRuleParameters ( )
pure virtual

Sets the rule's parameters.

Must be overridden by derived rules. Will be automatically called by the AnalysisManager when the rule is loaded into the manager.

◆ onInitialize()

virtual void event_detector::AnalysisRule::onInitialize ( )
protectedpure virtual

Callback for when the rule is initialized.

Must be overridden by derived rules. Will be automatically called during initialization. Allows derived rules to perform additional initialization.

Member Data Documentation

◆ buffer_

std::shared_ptr<BufferManager> event_detector::AnalysisRule::buffer_
protected

BufferManager component.

Definition at line 124 of file AnalysisRule.hpp.

◆ ed_

EventDetector* event_detector::AnalysisRule::ed_
protected

EventDetector node.

Definition at line 119 of file AnalysisRule.hpp.


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