14#ifndef SIMICS_SYSTEMC_TRACE_MONITOR_H
15#define SIMICS_SYSTEMC_TRACE_MONITOR_H
27class EventCallbackAdapter;
28class EventCallbackInterface;
39 void subscribe(
const char *event_type,
const void *obj,
45 const char *event_type,
46 const char *event_class_type,
48 const sc_core::sc_time &ts)
override;
51 typedef std::pair<EventCallbackInterface *, bool> entry;
59 std::map<const void *, entry> trace_callbacks_;
63 std::map<int, EventCallbackInterface *> trace_dynamic_callbacks_;
67 std::multimap<int, EventCallbackInterface *> trace_all_callbacks_;
70 std::set<int> is_event_traced_;
71 EventCallbackAdapter *adapter_;
Definition: trace_monitor_interface.h:28
Definition: trace_monitor_interface.h:38
Definition: trace_monitor.h:31
TraceMonitor(const TraceMonitor &)=delete
void kernel_callback(int kernel_event_type, const char *event_type, const char *event_class_type, void *event_object, const sc_core::sc_time &ts) override
void unsubscribeAllDynamic(const char *event_type, EventCallbackInterface *callback) override
TraceMonitor & operator=(const TraceMonitor &)=delete
void subscribe(const char *event_type, const void *obj, EventCallbackInterface *callback, bool trace) override
void subscribeAllDynamic(const char *event_type, EventCallbackInterface *callback) override