30 using namespace YACS::ENGINE;
62 (*iter)->getAllRepresentants(s);
69 set<InputDataStreamPort *>::const_iterator iter;
74 (*iter)->getAllRepresentants(s);
75 for(set<InPort *>::iterator iter2=s.begin();iter2!=s.end();iter2++)
89 DEBTRACE(
"OutputDataStreamPort::edAddInputDataStreamPort");
90 if(!isAlreadyInSet(port))
92 if(!port->edGetType()->isAdaptable(edGetType()))
94 string what=
"Can not connect 2 ports with incompatible types : ";
95 what=what+ port->edGetType()->id();
96 what=what+
" is not a ";
97 what=what+ edGetType()->id();
100 _setOfInputDataStreamPort.insert(port);
101 port->edAddOutputDataStreamPort(
this);
113 inPort->getAllRepresentants(s);
114 for(set<InPort *>::iterator iter=s.begin();iter!=s.end();iter++)
115 _node->getRootNode()->edRemoveLink(
this,*iter);
120 set<InputDataStreamPort *>::iterator iter=_setOfInputDataStreamPort.find(inPort);
121 if(iter!=_setOfInputDataStreamPort.end())
124 _setOfInputDataStreamPort.erase(iter);
126 return edGetNumberOfOutLinks();
129 throw Exception(
"OutputDataStreamPort::edRemoveInputPort : link does not exist, unable to remove it");
135 DEBTRACE(
"OutputDataStreamPort::addInPort");
138 string what=
"not compatible type of port requested during building of link FROM ";
139 what+=NAME; what+=
" TO "; what+=inPort->getNameOfTypeOfCurrentInstance();
142 return edAddInputDataStreamPort(static_cast<InputDataStreamPort*>(inPort));
147 set<InputDataStreamPort *>::iterator iter;
149 for( set<InputDataStreamPort *>::iterator iter2=vec.begin();iter2!=vec.end();iter2++)
156 DEBTRACE(
"OutputDataStreamPort::removeInPort");
159 string what=
"not compatible type of port requested during destruction of for link FROM ";
160 what+=NAME; what+=
" TO "; what+=inPort->getNameOfTypeOfCurrentInstance();
163 return edRemoveInputDataStreamPort(static_cast<InputDataStreamPort *>(inPort),forward);