00001 /* 00002 * Copyright (C) 2011 Google Inc. 00003 * 00004 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 00005 * use this file except in compliance with the License. You may obtain a copy of 00006 * the License at 00007 * 00008 * http://www.apache.org/licenses/LICENSE-2.0 00009 * 00010 * Unless required by applicable law or agreed to in writing, software 00011 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 00012 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 00013 * License for the specific language governing permissions and limitations under 00014 * the License. 00015 */ 00016 00017 package org.ros.node; 00018 00019 import org.apache.commons.logging.Log; 00020 import org.ros.concurrent.CancellableLoop; 00021 import org.ros.internal.node.xmlrpc.MasterXmlRpcEndpoint; 00022 import org.ros.message.MessageFactory; 00023 import org.ros.message.MessageSerializationFactory; 00024 import org.ros.namespace.GraphName; 00025 import org.ros.namespace.NodeNameResolver; 00026 00027 import java.net.URI; 00028 import java.util.concurrent.ScheduledExecutorService; 00029 00035 public interface Node { 00036 00040 GraphName getName(); 00041 00050 GraphName resolveName(GraphName name); 00051 00055 GraphName resolveName(String name); 00056 00060 NodeNameResolver getResolver(); 00061 00065 URI getUri(); 00066 00071 URI getMasterUri(); 00072 00076 Log getLog(); 00077 00081 MessageSerializationFactory getMessageSerializationFactory(); 00082 00086 MessageFactory getTopicMessageFactory(); 00087 00091 MessageFactory getServiceResponseMessageFactory(); 00092 00096 MessageFactory getServiceRequestMessageFactory(); 00097 00104 void addListener(NodeListener listener); 00105 00109 ScheduledExecutorService getScheduledExecutorService(); 00110 00123 void executeCancellableLoop(CancellableLoop cancellableLoop); 00124 00128 void shutdown(); 00129 }