Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
diagnostic_aggregator::GenericAnalyzerBase Class Referenceabstract

GenericAnalyzerBase is the base class for GenericAnalyzer and OtherAnalyzer. More...

#include <generic_analyzer_base.h>

Inheritance diagram for diagnostic_aggregator::GenericAnalyzerBase:
Inheritance graph
[legend]

Public Member Functions

virtual bool analyze (const boost::shared_ptr< StatusItem > item)
 Update state with new StatusItem. More...
 
 GenericAnalyzerBase ()
 
virtual std::string getName () const
 Returns nice name (ex: "Power System") More...
 
virtual std::string getPath () const
 Returns full prefix (ex: "/Robot/Power System") More...
 
bool init (const std::string path, const ros::NodeHandle &n)=0
 Analyzer is initialized with base path and namespace. More...
 
bool init (const std::string path, const std::string nice_name, double timeout=-1.0, int num_items_expected=-1, bool discard_stale=false)
 
virtual bool match (const std::string name)=0
 Match function isn't implemented by GenericAnalyzerBase. More...
 
virtual std::vector< boost::shared_ptr< diagnostic_msgs::DiagnosticStatus > > report ()
 Reports current state, returns vector of formatted status messages. More...
 
virtual ~GenericAnalyzerBase ()
 
- Public Member Functions inherited from diagnostic_aggregator::Analyzer
 Analyzer ()
 Default constructor, called by pluginlib. More...
 
virtual ~Analyzer ()
 

Protected Member Functions

void addItem (std::string name, boost::shared_ptr< StatusItem > item)
 Subclasses can add items to analyze. More...
 

Protected Attributes

std::string nice_name_
 
int num_items_expected_
 
std::string path_
 
double timeout_
 

Private Attributes

bool discard_stale_
 
bool has_initialized_
 
bool has_warned_
 
std::map< std::string, boost::shared_ptr< StatusItem > > items_
 Stores items by name. State of analyzer. More...
 

Detailed Description

GenericAnalyzerBase is the base class for GenericAnalyzer and OtherAnalyzer.

GenericAnalyzerBase contains the getPath(), getName(), analyze() and report() functions of the Generic and Other Analyzers. It is a virtual class, and cannot be instantiated or loaded as a plugin. Subclasses are responsible for implementing the init() and match() functions.

The GenericAnalyzerBase holds the state of the analyzer, and tracks if items are stale, and if the user has the correct number of items.

Definition at line 65 of file generic_analyzer_base.h.

Constructor & Destructor Documentation

◆ GenericAnalyzerBase()

diagnostic_aggregator::GenericAnalyzerBase::GenericAnalyzerBase ( )
inline

Definition at line 68 of file generic_analyzer_base.h.

◆ ~GenericAnalyzerBase()

virtual diagnostic_aggregator::GenericAnalyzerBase::~GenericAnalyzerBase ( )
inlinevirtual

Definition at line 73 of file generic_analyzer_base.h.

Member Function Documentation

◆ addItem()

void diagnostic_aggregator::GenericAnalyzerBase::addItem ( std::string  name,
boost::shared_ptr< StatusItem item 
)
inlineprotected

Subclasses can add items to analyze.

Definition at line 247 of file generic_analyzer_base.h.

◆ analyze()

virtual bool diagnostic_aggregator::GenericAnalyzerBase::analyze ( const boost::shared_ptr< StatusItem item)
inlinevirtual

Update state with new StatusItem.

Implements diagnostic_aggregator::Analyzer.

Definition at line 108 of file generic_analyzer_base.h.

◆ getName()

virtual std::string diagnostic_aggregator::GenericAnalyzerBase::getName ( ) const
inlinevirtual

Returns nice name (ex: "Power System")

Implements diagnostic_aggregator::Analyzer.

Definition at line 235 of file generic_analyzer_base.h.

◆ getPath()

virtual std::string diagnostic_aggregator::GenericAnalyzerBase::getPath ( ) const
inlinevirtual

Returns full prefix (ex: "/Robot/Power System")

Implements diagnostic_aggregator::Analyzer.

Definition at line 230 of file generic_analyzer_base.h.

◆ init() [1/2]

bool diagnostic_aggregator::GenericAnalyzerBase::init ( const std::string  base_path,
const ros::NodeHandle n 
)
pure virtual

Analyzer is initialized with base path and namespace.

The Analyzer initialized with parameters in its given namespace. The "base_path" is common to all analyzers, and needs to be prepended to all DiagnosticStatus names.

Parameters
base_path: Common to all analyzers, prepended to all processed names. Starts with "/".
n: NodeHandle with proper private namespace for analyzer.

Implements diagnostic_aggregator::Analyzer.

Implemented in diagnostic_aggregator::GenericAnalyzer, and diagnostic_aggregator::OtherAnalyzer.

◆ init() [2/2]

bool diagnostic_aggregator::GenericAnalyzerBase::init ( const std::string  path,
const std::string  nice_name,
double  timeout = -1.0,
int  num_items_expected = -1,
bool  discard_stale = false 
)
inline

Definition at line 85 of file generic_analyzer_base.h.

◆ match()

virtual bool diagnostic_aggregator::GenericAnalyzerBase::match ( const std::string  name)
pure virtual

◆ report()

virtual std::vector<boost::shared_ptr<diagnostic_msgs::DiagnosticStatus> > diagnostic_aggregator::GenericAnalyzerBase::report ( )
inlinevirtual

Reports current state, returns vector of formatted status messages.

Returns
Vector of DiagnosticStatus messages. They must have the correct prefix for all names.

Implements diagnostic_aggregator::Analyzer.

Reimplemented in diagnostic_aggregator::GenericAnalyzer, diagnostic_aggregator::OtherAnalyzer, and diagnostic_aggregator::DiscardAnalyzer.

Definition at line 129 of file generic_analyzer_base.h.

Member Data Documentation

◆ discard_stale_

bool diagnostic_aggregator::GenericAnalyzerBase::discard_stale_
private

Definition at line 255 of file generic_analyzer_base.h.

◆ has_initialized_

bool diagnostic_aggregator::GenericAnalyzerBase::has_initialized_
private

Definition at line 255 of file generic_analyzer_base.h.

◆ has_warned_

bool diagnostic_aggregator::GenericAnalyzerBase::has_warned_
private

Definition at line 255 of file generic_analyzer_base.h.

◆ items_

std::map<std::string, boost::shared_ptr<StatusItem> > diagnostic_aggregator::GenericAnalyzerBase::items_
private

Stores items by name. State of analyzer.

Definition at line 253 of file generic_analyzer_base.h.

◆ nice_name_

std::string diagnostic_aggregator::GenericAnalyzerBase::nice_name_
protected

Definition at line 238 of file generic_analyzer_base.h.

◆ num_items_expected_

int diagnostic_aggregator::GenericAnalyzerBase::num_items_expected_
protected

Definition at line 242 of file generic_analyzer_base.h.

◆ path_

std::string diagnostic_aggregator::GenericAnalyzerBase::path_
protected

Definition at line 239 of file generic_analyzer_base.h.

◆ timeout_

double diagnostic_aggregator::GenericAnalyzerBase::timeout_
protected

Definition at line 241 of file generic_analyzer_base.h.


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


diagnostic_aggregator
Author(s): Kevin Watts, Brice Rebsamen
autogenerated on Mon Feb 28 2022 22:18:07