const Port *PortManager::getPort(const int moduleID, const std::string & name) { if (const Port *p = PortTracker::getPort(moduleID, name)) return p; std::string::size_type p = name.find('['); if (p != std::string::npos) { Port *parent = findPort(moduleID, name.substr(0, p-1)); if (parent && (parent->flags() & Port::MULTI)) { size_t idx=boost::lexical_cast<size_t>(name.substr(p+1)); const Port *port = parent->child(idx); m_clusterManager->sendMessage(moduleID, message::AddPort(*port)); return port; } } return NULL; }