Go to the documentation of this file.
59 #ifndef __SIM_PROBE_PROBE_HH__
60 #define __SIM_PROBE_PROBE_HH__
72 class ProbeListenerObjectParams;
214 template <
class T,
class Arg>
219 void (T::*
function)(
const Arg &);
248 template <
typename Arg>
293 #endif//__SIM_PROBE_PROBE_HH__
void addPoint(ProbePoint &point)
Add a ProbePoint to this SimObject ProbeManager.
std::string getName() const
ProbeListener(ProbeManager *manager, const std::string &name)
Name space containing shared probe point declarations.
const M5_CLASS_VAR_USED SimObject * object
Required for sensible debug messages.
ProbeListenerArgBase(ProbeManager *pm, const std::string &name)
bool removeListener(std::string pointName, ProbeListener &listener)
Remove a ProbeListener from the ProbePoint named by pointName.
void(T::* function)(const Arg &)
ProbePointArg generates a point for the class of Arg.
ProbeManager(SimObject *obj)
void notify(const Arg &arg)
called at the ProbePoint call site, passes arg to each listener.
std::vector< ProbeListener * > listeners
virtual void notify(const Arg &val)=0
ProbeManager *const manager
ProbeListenerArg generates a listener for the class of Arg and the class type T which is the class co...
#define M5_CLASS_VAR_USED
ProbeListener base class; here to simplify things like containers containing multiple types of ProbeL...
std::vector< ProbeListenerArgBase< Arg > * > listeners
The attached listeners.
virtual ~ProbeListenerObject()
virtual void addListener(ProbeListener *listener)=0
ProbeListener base class; again used to simplify use of ProbePoints in containers and used as to defi...
This class is a minimal wrapper around SimObject.
ProbeManager * getProbeManager()
bool addListener(std::string pointName, ProbeListener &listener)
Add a ProbeListener to the ProbePoint named by pointName.
const Params * params() const
const std::string & name()
void addListener(ProbeListener *l)
adds a ProbeListener to this ProbePoints notify list.
ProbePointArg(ProbeManager *manager, std::string name)
ProbeManager is a conduit class that lives on each SimObject, and is used to match up probe listeners...
virtual void removeListener(ProbeListener *listener)=0
ProbePoint(ProbeManager *manager, const std::string &name)
ProbeListenerObject(const ProbeListenerObjectParams *params)
virtual void notify(const Arg &val)
called when the ProbePoint calls notify.
std::vector< ProbePoint * > points
Vector for name look-up.
void removeListener(ProbeListener *l)
remove a ProbeListener from this ProbePoints notify list.
ProbeListenerArg(T *obj, const std::string &name, void(T::*func)(const Arg &))
Abstract superclass for simulation objects.
ProbeListenerArgBase is used to define the base interface to a ProbeListenerArg (i....
Generated on Wed Sep 30 2020 14:02:14 for gem5 by doxygen 1.8.17