00001 // Copyright 2017 Intermodalics All Rights Reserved. 00002 package eu.intermodalics.nodelet_manager; 00003 00004 import android.util.Log; 00005 00006 import org.ros.namespace.GraphName; 00007 import org.ros.node.NativeNodeMain; 00008 import org.ros.node.Node; 00009 00010 import java.util.Arrays; 00011 import java.util.List; 00012 00013 public class TangoNodeletManager extends NativeNodeMain { 00014 // Node specific. 00015 public static final String NODE_NAME = "tango"; 00016 public static final String DEFAULT_LIB_NAME = "nodelet_manager"; 00017 00018 public TangoNodeletManager(String[] remappingArguments) { 00019 super(DEFAULT_LIB_NAME, remappingArguments); 00020 } 00021 00022 public TangoNodeletManager() { 00023 super(DEFAULT_LIB_NAME); 00024 } 00025 00026 public TangoNodeletManager(String libName) { 00027 super(libName); 00028 } 00029 00033 public static final boolean loadNodeletManagerSharedLibrary() { 00034 try { 00035 System.loadLibrary(DEFAULT_LIB_NAME); 00036 } catch (UnsatisfiedLinkError e) { 00037 Log.e(TangoNodeletManager.class.getName(), 00038 "Error loading shared library: " + DEFAULT_LIB_NAME, e); 00039 return false; 00040 } 00041 return true; 00042 } 00043 00044 @Override 00045 public native int execute(String rosMasterUri, String rosHostName, String rosNodeName, String[] remappingArguments); 00046 00047 @Override 00048 public native int shutdown(); 00049 00050 @Override 00051 public GraphName getDefaultNodeName() { 00052 return GraphName.of(NODE_NAME); 00053 } 00054 }