gem5  v22.1.0.0
Public Member Functions | Private Attributes | List of all members
gem5::ProbeManager Class Reference

ProbeManager is a conduit class that lives on each SimObject, and is used to match up probe listeners with probe points. More...

#include <probe.hh>

Public Member Functions

 ProbeManager (SimObject *obj)
 
virtual ~ProbeManager ()
 
bool addListener (std::string point_name, ProbeListener &listener)
 Add a ProbeListener to the ProbePoint named by pointName. More...
 
bool removeListener (std::string point_name, ProbeListener &listener)
 Remove a ProbeListener from the ProbePoint named by pointName. More...
 
void addPoint (ProbePoint &point)
 Add a ProbePoint to this SimObject ProbeManager. More...
 

Private Attributes

GEM5_CLASS_VAR_USED const SimObjectobject
 Required for sensible debug messages. More...
 
std::vector< ProbePoint * > points
 Vector for name look-up. More...
 

Detailed Description

ProbeManager is a conduit class that lives on each SimObject, and is used to match up probe listeners with probe points.

Definition at line 163 of file probe.hh.

Constructor & Destructor Documentation

◆ ProbeManager()

gem5::ProbeManager::ProbeManager ( SimObject obj)
inline

Definition at line 172 of file probe.hh.

◆ ~ProbeManager()

virtual gem5::ProbeManager::~ProbeManager ( )
inlinevirtual

Definition at line 175 of file probe.hh.

Member Function Documentation

◆ addListener()

bool gem5::ProbeManager::addListener ( std::string  point_name,
ProbeListener listener 
)

Add a ProbeListener to the ProbePoint named by pointName.

If the name doesn't resolve a ProbePoint return false.

Parameters
point_namename of the ProbePoint to add the ProbeListener to.
listenerthe ProbeListener to add.
Returns
true if added, false otherwise.

Definition at line 84 of file probe.cc.

References DPRINTFR, gem5::Named::name(), object, gem5::VegaISA::p, and points.

Referenced by gem5::ProbeListener::ProbeListener().

◆ addPoint()

void gem5::ProbeManager::addPoint ( ProbePoint point)

Add a ProbePoint to this SimObject ProbeManager.

Parameters
pointthe ProbePoint to add.

Definition at line 122 of file probe.cc.

References DPRINTFR, gem5::ProbePoint::getName(), gem5::Named::name(), object, gem5::VegaISA::p, and points.

Referenced by gem5::ProbePoint::ProbePoint().

◆ removeListener()

bool gem5::ProbeManager::removeListener ( std::string  point_name,
ProbeListener listener 
)

Remove a ProbeListener from the ProbePoint named by pointName.

If the name doesn't resolve a ProbePoint return false.

Parameters
point_namethe name of the ProbePoint to remove the ProbeListener from.
listenerthe ProbeListener to remove.
Returns
true if removed, false otherwise.

Definition at line 103 of file probe.cc.

References DPRINTFR, gem5::Named::name(), object, gem5::VegaISA::p, and points.

Referenced by gem5::ProbeListener::~ProbeListener().

Member Data Documentation

◆ object

GEM5_CLASS_VAR_USED const SimObject* gem5::ProbeManager::object
private

Required for sensible debug messages.

Definition at line 167 of file probe.hh.

Referenced by addListener(), addPoint(), and removeListener().

◆ points

std::vector<ProbePoint *> gem5::ProbeManager::points
private

Vector for name look-up.

Definition at line 169 of file probe.hh.

Referenced by addListener(), addPoint(), and removeListener().


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

Generated on Wed Dec 21 2022 10:23:30 for gem5 by doxygen 1.9.1