BridgeInterface constructor
Reads portsFromConsumer
, portsFromProvider
and portsSharedInouts
then creates appropriate ports with appropriate tags.
Implementation
BridgeInterface({
required this.name,
required this.library,
required this.vendor,
required this.version,
Map<String, int> portsFromConsumer = const {},
Map<String, int> portsFromProvider = const {},
Map<String, int> portsSharedInouts = const {},
}) : _portsFromConsumer = portsFromConsumer,
_portsFromProvider = portsFromProvider,
_portsSharedInouts = portsSharedInouts {
for (final port in portsFromConsumer.entries) {
if (tryPort(port.key) == null) {
setPorts(
[Logic.port(port.key, port.value)], [PairDirection.fromConsumer]);
}
}
for (final port in portsFromProvider.entries) {
if (tryPort(port.key) == null) {
setPorts(
[Logic.port(port.key, port.value)], [PairDirection.fromProvider]);
}
}
for (final port in portsSharedInouts.entries) {
if (tryPort(port.key) == null) {
setPorts(
[Logic.port(port.key, port.value)], [PairDirection.commonInOuts]);
}
}
}