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 java.util.Collection; 00020 import java.util.concurrent.ExecutorService; 00021 import java.util.concurrent.ScheduledExecutorService; 00022 00029 public interface NodeMainExecutor { 00030 00035 ScheduledExecutorService getScheduledExecutorService(); 00036 00050 void execute(NodeMain nodeMain, NodeConfiguration nodeConfiguration, 00051 Collection<NodeListener> nodeListeners); 00052 00063 void execute(NodeMain nodeMain, NodeConfiguration nodeConfiguration); 00064 00077 void shutdownNodeMain(NodeMain nodeMain); 00078 00083 void shutdown(); 00084 }