16#ifndef SIMICS_SYSTEMC_TRACE_MONITOR_H
17#define SIMICS_SYSTEMC_TRACE_MONITOR_H
29class EventCallbackAdapter;
30class EventCallbackInterface;
41 void subscribe(
const char *event_type,
const void *obj,
47 const char *event_type,
48 const char *event_class_type,
50 const sc_core::sc_time &ts)
override;
53 typedef std::pair<EventCallbackInterface *, bool> entry;
61 std::map<const void *, entry> trace_callbacks_;
65 std::map<int, EventCallbackInterface *> trace_dynamic_callbacks_;
69 std::multimap<int, EventCallbackInterface *> trace_all_callbacks_;
72 std::set<int> is_event_traced_;
73 EventCallbackAdapter *adapter_;
Definition: trace_monitor_interface.h:30
Definition: trace_monitor_interface.h:40
Definition: trace_monitor.h:33
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