16#ifndef SIMICS_SYSTEMC_AWARENESS_PROXY_H
17#define SIMICS_SYSTEMC_AWARENESS_PROXY_H
19#include <simics/cc-api.h>
31#include <unordered_map>
43 explicit Proxy(simics::ConfObjectRef o);
44 virtual void init(sc_core::sc_object *obj,
48 static attr_value_t
getAttribute(lang_void *ptr, conf_object_t *obj,
50 static set_error_t
setAttribute(lang_void *ptr, conf_object_t *obj,
68 return dynamic_cast<T *
> (
feature(ClassType::typeForClass<T>()));
81 std::vector<ScEventObject *> events_;
82 static std::unordered_map<sc_core::sc_object *, ProxyInterface *> proxies_;
83 static std::unordered_map<sc_core::sc_event *, ScEventObject *> sc_events_;
84 static std::unordered_map<sc_core::sc_interface *, ProxyInterface *>
86 std::map<ClassType, ProxyFeatureInterface *> features_;
Definition: class_type.h:25
Interface to the SystemC simulation.
Definition: simulation_interface_proxy.h:27
Definition: attributes.h:28
Definition: proxy_feature_interface.h:28
Definition: proxy_interface.h:29
virtual void set_attributes(Attributes *attributes)
sc_core::sc_interface * iface_
Definition: proxy.h:77
virtual void init(sc_core::sc_object *obj, iface::SimulationInterface *simulation)
sc_core::sc_object * systemc_obj()
std::vector< std::string > sc_dump() const
virtual iface::SimulationInterface * simulation()
virtual void resizeExtensions(tlm::tlm_generic_payload *payload) const
std::vector< std::string > sc_print() const
virtual void simulationEnded()
static ScEventObject * findScEventObject(sc_core::sc_event *event)
sc_core::sc_object * object_
Definition: proxy.h:76
static set_error_t setAttribute(lang_void *ptr, conf_object_t *obj, attr_value_t *val, attr_value_t *idx)
virtual void simulationStarted()
static ProxyInterface * findProxy(sc_core::sc_interface *iface)
attr_value_t sc_kind() const
virtual ProxyFeatureInterface * feature(ClassType type)
Proxy(simics::ConfObjectRef o)
static ProxyInterface * findProxy(sc_core::sc_object *obj)
ConfObjectRef simics_obj()
virtual void addFeature(ProxyFeatureInterface *feature)
const char * sc_name() const
T * feature()
Definition: proxy.h:67
virtual void allProxiesInitialized()
static attr_value_t getAttribute(lang_void *ptr, conf_object_t *obj, attr_value_t *idx)
Definition: sc_event_object.h:27
Definition: sc_object_interface.h:29
Interface to the SystemC simulation.
Definition: simulation_interface.h:27
Definition: pci_bus_interface.h:24