summaryrefslogtreecommitdiff
path: root/src/systemc/ext
diff options
context:
space:
mode:
Diffstat (limited to 'src/systemc/ext')
-rw-r--r--src/systemc/ext/core/sc_module.hh13
-rw-r--r--src/systemc/ext/core/sc_port.hh3
2 files changed, 10 insertions, 6 deletions
diff --git a/src/systemc/ext/core/sc_module.hh b/src/systemc/ext/core/sc_module.hh
index 8de57b575..539d275ec 100644
--- a/src/systemc/ext/core/sc_module.hh
+++ b/src/systemc/ext/core/sc_module.hh
@@ -78,14 +78,15 @@ class sc_module_name;
class sc_bind_proxy
{
private:
- const sc_interface *_interface;
- const sc_port_base *_port;
-
- friend class sc_module;
+ sc_interface *_interface;
+ sc_port_base *_port;
public:
- sc_bind_proxy(const sc_interface &_interface);
- sc_bind_proxy(const sc_port_base &_port);
+ sc_bind_proxy(sc_interface &_interface);
+ sc_bind_proxy(sc_port_base &_port);
+
+ sc_interface *interface() const { return _interface; }
+ sc_port_base *port() const { return _port; }
};
extern const sc_bind_proxy SC_BIND_PROXY_NIL;
diff --git a/src/systemc/ext/core/sc_port.hh b/src/systemc/ext/core/sc_port.hh
index f9e50da2e..b39235960 100644
--- a/src/systemc/ext/core/sc_port.hh
+++ b/src/systemc/ext/core/sc_port.hh
@@ -40,6 +40,7 @@ namespace sc_gem5
{
class BindInfo;
+class Module;
class PendingSensitivityPort;
};
@@ -71,6 +72,8 @@ class sc_port_base : public sc_object
void bind(sc_interface &);
void bind(sc_port_base &);
+ friend class ::sc_gem5::Module;
+
// Implementation defined, but depended on by the tests.
virtual int vbind(sc_interface &) = 0;
virtual int vbind(sc_port_base &) = 0;