16#ifndef SIMICS_SYSTEMC_TRACE_PROCESS_ALL_DYNAMIC_H
17#define SIMICS_SYSTEMC_TRACE_PROCESS_ALL_DYNAMIC_H
19#include <simics/cc-api.h>
20#include <simics/simulator/sim-get-class.h>
33 :
public simics::ConfObject,
41 void init(SimulationInterface *simulation) {
46 const char *class_type,
48 const sc_core::sc_time &ts) {
49 sc_core::sc_process_b *process
50 =
static_cast<sc_core::sc_process_b*
>(object);
51 sc_core::sc_process_handle handle(process);
52 bool internal =
false;
59 event_type, class_type,
object,
60 const_cast<sc_core::sc_time *
>(&ts),
64 conf_class_t *cls =
SIM_get_class(
"sc_method_process_all_dynamic");
65 if (SIM_clear_exception() == SimExc_No_Exception) {
69 auto new_cls = make_class<TraceProcessAllDynamic>(
70 "sc_method_process_all_dynamic",
71 "All dynamic SystemC processes",
72 "Helper class to attach SystemC Tools on dynamically created "
74 Sim_Class_Kind_Pseudo);
78 SIM_register_interface(*new_cls.get(), SC_PROVIDER_CONTROLLER_INTERFACE,
79 sc_provider_controller_adapter.cstruct());
80 return *new_cls.get();
Definition: trace_monitor_interface.h:30
Interface to the SystemC simulation.
Definition: simulation_interface_proxy.h:27
void setSimulation(iface::SimulationInterface *simulation)
Definition: simulation_interface_proxy.h:32
Definition: trace_process_all_dynamic.h:36
static conf_class_t * initClass()
Definition: trace_process_all_dynamic.h:63
void event_callback(const char *event_type, const char *class_type, void *object, const sc_core::sc_time &ts)
Definition: trace_process_all_dynamic.h:45
void init(SimulationInterface *simulation)
Definition: trace_process_all_dynamic.h:41
virtual void connection_list_updated(ConnectionListState state)
TraceProcessAllDynamic(simics::ConfObjectRef o)
Definition: trace_process_all_dynamic.h:38
Definition: process_action_interface.h:28
Definition: provider_controller_simics_adapter.h:36
conf_class_t * SIM_get_class(const char *NOTNULL name)
std::set< sc_core::sc_process_handle > InternalProcesses
Definition: pci_bus_interface.h:24