2379 joinedInfoPtr->setJoinedType(inInterfaceJoinedInfo.getJoinedType());
2381 std::list<PortSharedPtr> outPorts;
2382 inInterfaceJoinedInfo.getPorts(outPorts);
2383 std::list<PortSharedPtr>::iterator portIt = outPorts.begin();
2384 for(; portIt != outPorts.end(); ++portIt) {
2387 std::vector < std::string > nestedNames;
2390 nestedNames.push_back(port->getName());
2391 port = port->getParentCollection();
2395 if(nestedNames.size() > 1) {
2398 std::vector < size_t > indices;
2400 targetPort = targetPort->get(IndexFinder<Port, VectorPortBit>()(actualPort));
2401 indices = IndexFinder<Port, VectorNetBit>()(actualPort);
2403 if(!indices.empty()) {
2404 targetPort = targetPort->get(indices);
2407 joinedInfoPtr->addPort(targetPort);
2410 std::list<PortListSharedPtr> outPortLists;
2411 inInterfaceJoinedInfo.getPortLists(outPortLists);
2412 std::list<PortListSharedPtr>::iterator portListIt = outPortLists.begin();
2413 for(; portListIt != outPortLists.end(); ++portListIt) {
2415 joinedInfoPtr->addPortList(newPortList);
2418 std::vector<InterfaceJoinedInfoSharedPtr> outJoinedInfos;
2419 inInterfaceJoinedInfo.getChildren(outJoinedInfos);
2420 for(std::vector<InterfaceJoinedInfoSharedPtr>::iterator it = outJoinedInfos.begin();
2421 it != outJoinedInfos.end(); ++it) {
2424 joinedInfoPtr->addChildJoinedInfo(childJoinedInfo);
2429 e.setCurrentLocation(__FUNCTION__, __FILE__, __LINE__);
void findLeafConnectable(std::vector< std::string > &nestedNames, boost::shared_ptr< _Connectable > &conn)
boost::shared_ptr< _Tp > clone(const boost::shared_ptr< _Tp > &inPointer, const ObjectFactorySharedPtr &inFactory)
boost::shared_ptr< PortList > PortListSharedPtr
ObjectFactorySharedPtr mFactory
boost::shared_ptr< _Tp > cloneJoinedInfo(const boost::shared_ptr< _Tp > &inPointer, const ObjectFactorySharedPtr &inFactory, const ViewSharedPtr &inView)
boost::shared_ptr< InterfaceJoinedInfo > InterfaceJoinedInfoSharedPtr
boost::shared_ptr< Port > PortSharedPtr