/** * @param nodeConfiguration * the {@link NodeConfiguration} to copy * @return a copy of the supplied {@link NodeConfiguration} */ public static NodeConfiguration copyOf(NodeConfiguration nodeConfiguration) { NodeConfiguration copy = new NodeConfiguration(); copy.parentResolver = nodeConfiguration.parentResolver; copy.masterUri = nodeConfiguration.masterUri; copy.rosRoot = nodeConfiguration.rosRoot; copy.rosPackagePath = nodeConfiguration.rosPackagePath; copy.nodeName = nodeConfiguration.nodeName; copy.topicDescriptionFactory = nodeConfiguration.topicDescriptionFactory; copy.topicMessageFactory = nodeConfiguration.topicMessageFactory; copy.serviceDescriptionFactory = nodeConfiguration.serviceDescriptionFactory; copy.serviceRequestMessageFactory = nodeConfiguration.serviceRequestMessageFactory; copy.serviceResponseMessageFactory = nodeConfiguration.serviceResponseMessageFactory; copy.messageSerializationFactory = nodeConfiguration.messageSerializationFactory; copy.tcpRosBindAddress = nodeConfiguration.tcpRosBindAddress; copy.tcpRosAdvertiseAddressFactory = nodeConfiguration.tcpRosAdvertiseAddressFactory; copy.xmlRpcBindAddress = nodeConfiguration.xmlRpcBindAddress; copy.xmlRpcAdvertiseAddressFactory = nodeConfiguration.xmlRpcAdvertiseAddressFactory; copy.scheduledExecutorService = nodeConfiguration.scheduledExecutorService; copy.timeProvider = nodeConfiguration.timeProvider; return copy; }
/** * Creates a new {@link NodeConfiguration} for a {@link Node} that is only * accessible on the local host. * * @param masterUri * the {@link URI} for the master that the {@link Node} will register * with * @return a new {@link NodeConfiguration} for a private {@link Node} */ public static NodeConfiguration newPrivate(URI masterUri) { NodeConfiguration configuration = new NodeConfiguration(); configuration.setXmlRpcBindAddress(BindAddress.newPrivate()); configuration.setXmlRpcAdvertiseAddressFactory(new PrivateAdvertiseAddressFactory()); configuration.setTcpRosBindAddress(BindAddress.newPrivate()); configuration.setTcpRosAdvertiseAddressFactory(new PrivateAdvertiseAddressFactory()); configuration.setMasterUri(masterUri); return configuration; }
/** * Creates a new {@link NodeConfiguration} for a publicly accessible * {@link Node}. * * @param host * the host that the {@link Node} will run on * @param masterUri * the {@link URI} for the master that the {@link Node} will register * with * @return a new {@link NodeConfiguration} for a publicly accessible * {@link Node} */ public static NodeConfiguration newPublic(String host, URI masterUri) { NodeConfiguration configuration = new NodeConfiguration(); configuration.setXmlRpcBindAddress(BindAddress.newPublic()); configuration.setXmlRpcAdvertiseAddressFactory(new PublicAdvertiseAddressFactory(host)); configuration.setTcpRosBindAddress(BindAddress.newPublic()); configuration.setTcpRosAdvertiseAddressFactory(new PublicAdvertiseAddressFactory(host)); configuration.setMasterUri(masterUri); return configuration; }