16#ifndef SIMICS_SYSTEMC_AWARENESS_PROXY_CLASS_REGISTRY_H
17#define SIMICS_SYSTEMC_AWARENESS_PROXY_CLASS_REGISTRY_H
19#include <simics/base/types.h>
20#include <simics/base/sim-exception.h>
21#include <simics/simulator/sim-get-class.h>
39 conf_class_t *
confClass(sc_core::sc_object *
object) {
50 if (SIM_clear_exception() != SimExc_No_Exception) {
55 SIM_clear_exception();
Definition: class_attributes_interface.h:26
virtual std::string uniqueName(sc_core::sc_object *object) const =0
virtual std::string description(sc_core::sc_object *object) const =0
virtual std::string documentation(sc_core::sc_object *object) const =0
virtual std::string name(std::string class_name) const =0
Definition: proxy_class_name.h:33
Definition: proxy_class_registry.h:34
const ProxyFactoryInterface & factory_
Definition: proxy_class_registry.h:68
conf_class_t * confClass(sc_core::sc_object *object)
Definition: proxy_class_registry.h:39
ProxyClassRegistry(const ProxyFactoryInterface &factory)
Definition: proxy_class_registry.h:36
Definition: proxy_factory_interface.h:31
virtual void registerLogGroups(sc_core::sc_object *object, conf_class_t *cls) const =0
virtual conf_class_t * createConfClass(sc_core::sc_object *object, std::string name, std::string description, std::string documentation) const =0
virtual bool needUniqueConfClassName(sc_core::sc_object *object) const =0
virtual void registerAttributes(sc_core::sc_object *object, conf_class_t *cls) const =0
virtual const ClassAttributesInterface * classAttributes(sc_core::sc_object *object) const =0
virtual bool canManufacture(sc_core::sc_object *object) const =0
virtual void registerInterfaces(sc_core::sc_object *object, conf_class_t *cls) const =0
conf_class_t * SIM_get_class(const char *NOTNULL name)
Definition: pci_bus_interface.h:24