72a73,88
> void
> BaseMasterPort::bind(Port &peer)
> {
> _baseSlavePort = dynamic_cast<BaseSlavePort *>(&peer);
> fatal_if(!_baseSlavePort, "Attempt to bind port %s to non-master port %s.",
> name(), peer.name());
> Port::bind(peer);
> }
>
> void
> BaseMasterPort::unbind()
> {
> _baseSlavePort = nullptr;
> Port::unbind();
> }
>
91a108,123
> void
> BaseSlavePort::bind(Port &peer)
> {
> _baseMasterPort = dynamic_cast<BaseMasterPort *>(&peer);
> fatal_if(!_baseMasterPort, "Attempt to bind port %s to non-slave port %s.",
> name(), peer.name());
> Port::bind(peer);
> }
>
> void
> BaseSlavePort::unbind()
> {
> _baseMasterPort = nullptr;
> Port::unbind();
> }
>
112,114d143
< // bind on the level of the base ports
< _baseSlavePort = slave_port;
<
117c146
< _connected = true;
---
> BaseMasterPort::bind(peer);
129,131c158,159
< _slavePort = NULL;
< _connected = false;
< _baseSlavePort = NULL;
---
> _slavePort = nullptr;
> BaseMasterPort::unbind();
169d196
< _baseMasterPort = NULL;
171c198
< _connected = false;
---
> BaseSlavePort::unbind();
177d203
< _baseMasterPort = &master_port;
179c205
< _connected = true;
---
> BaseSlavePort::bind(master_port);