diff options
Diffstat (limited to 'src/systemc/ext')
-rw-r--r-- | src/systemc/ext/core/sc_interface.hh | 1 | ||||
-rw-r--r-- | src/systemc/ext/core/sc_port.hh | 4 |
2 files changed, 5 insertions, 0 deletions
diff --git a/src/systemc/ext/core/sc_interface.hh b/src/systemc/ext/core/sc_interface.hh index 3c6a27dea..3b5abdf09 100644 --- a/src/systemc/ext/core/sc_interface.hh +++ b/src/systemc/ext/core/sc_interface.hh @@ -39,6 +39,7 @@ class sc_event; class sc_interface { public: + virtual void register_port(sc_port_base &, const char *); virtual const sc_event &default_event() const; virtual ~sc_interface() {}; diff --git a/src/systemc/ext/core/sc_port.hh b/src/systemc/ext/core/sc_port.hh index 3586fec73..904d35b8e 100644 --- a/src/systemc/ext/core/sc_port.hh +++ b/src/systemc/ext/core/sc_port.hh @@ -30,6 +30,7 @@ #ifndef __SYSTEMC_EXT_CORE_SC_PORT_HH__ #define __SYSTEMC_EXT_CORE_SC_PORT_HH__ +#include <typeinfo> #include <vector> #include "../utils/sc_report_handler.hh" @@ -108,6 +109,7 @@ class sc_port_base : public sc_object virtual void _gem5AddInterface(sc_interface *i) = 0; ::sc_gem5::Port *_gem5Port; + virtual const char *_ifTypeName() const = 0; }; template <class IF> @@ -210,6 +212,8 @@ class sc_port_b : public sc_port_base _interfaces.push_back(interface); } + const char *_ifTypeName() const { return typeid(IF).name(); } + // Disabled sc_port_b() {} sc_port_b(const sc_port_b<IF> &) {} |