Port: Add protocol-agnostic ports in the port hierarchy
This patch adds an additional level of ports in the inheritance hierarchy, separating out the protocol-specific and protocl-agnostic parts. All the functionality related to the binding of ports is now confined to use BaseMaster/BaseSlavePorts, and all the protocol-specific parts stay in the Master/SlavePort. In the future it will be possible to add other protocol-specific implementations. The functions used in the binding of ports, i.e. getMaster/SlavePort now use the base classes, and the index parameter is updated to use the PortID typedef with the symbolic InvalidPortID as the default.
This commit is contained in:
@@ -102,8 +102,8 @@ connectPorts(SimObject *o1, const std::string &name1, int i1,
|
||||
}
|
||||
|
||||
// generic master/slave port connection
|
||||
MasterPort& masterPort = mo1->getMasterPort(name1, i1);
|
||||
SlavePort& slavePort = mo2->getSlavePort(name2, i2);
|
||||
BaseMasterPort& masterPort = mo1->getMasterPort(name1, i1);
|
||||
BaseSlavePort& slavePort = mo2->getSlavePort(name2, i2);
|
||||
|
||||
masterPort.bind(slavePort);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user