14#ifndef SIMICS_SYSTEMC_TRACE_PROCESS_ALL_DYNAMIC_H
15#define SIMICS_SYSTEMC_TRACE_PROCESS_ALL_DYNAMIC_H
17#include <simics/cc-api.h>
18#include <simics/simulator/sim-get-class.h>
31 :
public simics::ConfObject,
39 void init(SimulationInterface *simulation) {
44 const char *class_type,
46 const sc_core::sc_time &ts)
override {
47 sc_core::sc_process_b *process
48 =
static_cast<sc_core::sc_process_b*
>(object);
49 sc_core::sc_process_handle handle(process);
50 bool internal =
false;
57 event_type, class_type,
object,
58 const_cast<sc_core::sc_time *
>(&ts),
62 conf_class_t *cls =
SIM_get_class(
"sc_method_process_all_dynamic");
63 if (SIM_clear_exception() == SimExc_No_Exception) {
67 auto new_cls = make_class<TraceProcessAllDynamic>(
68 "sc_method_process_all_dynamic",
69 "All dynamic SystemC processes",
70 "Helper class to attach SystemC Tools on dynamically created "
72 Sim_Class_Kind_Pseudo);
76 SIM_register_interface(*new_cls.get(), SC_PROVIDER_CONTROLLER_INTERFACE,
77 sc_provider_controller_adapter.cstruct());
78 return *new_cls.get();
Definition: trace_monitor_interface.h:28
Interface to the SystemC simulation.
Definition: simulation_interface_proxy.h:25
void setSimulation(iface::SimulationInterface *simulation)
Definition: simulation_interface_proxy.h:30
Definition: trace_process_all_dynamic.h:34
static conf_class_t * initClass()
Definition: trace_process_all_dynamic.h:61
void event_callback(const char *event_type, const char *class_type, void *object, const sc_core::sc_time &ts) override
Definition: trace_process_all_dynamic.h:43
void init(SimulationInterface *simulation)
Definition: trace_process_all_dynamic.h:39
void connection_list_updated(ConnectionListState state) override
TraceProcessAllDynamic(simics::ConfObjectRef o)
Definition: trace_process_all_dynamic.h:36
Definition: process_action_interface.h:26
Definition: provider_controller_simics_adapter.h:34
conf_class_t * SIM_get_class(const char *NOTNULL name)
std::set< sc_core::sc_process_handle > InternalProcesses