Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 package org.ros.android.view.visualization.layer;
00018
00019 import com.google.common.base.Preconditions;
00020
00021 import org.ros.android.view.visualization.VisualizationView;
00022 import org.ros.namespace.GraphName;
00023 import org.ros.node.ConnectedNode;
00024 import org.ros.node.Node;
00025 import org.ros.node.topic.Subscriber;
00026
00030 public class SubscriberLayer<T> extends DefaultLayer {
00031
00032 private final GraphName topicName;
00033 private final String messageType;
00034
00035 private Subscriber<T> subscriber;
00036
00037 public SubscriberLayer(GraphName topicName, String messageType) {
00038 this.topicName = topicName;
00039 this.messageType = messageType;
00040 }
00041
00042 @Override
00043 public void onStart(VisualizationView view, ConnectedNode connectedNode) {
00044 super.onStart(view, connectedNode);
00045 subscriber = connectedNode.newSubscriber(topicName, messageType);
00046 }
00047
00048 @Override
00049 public void onShutdown(VisualizationView view, Node node) {
00050 subscriber.shutdown();
00051 super.onShutdown(view, node);
00052 }
00053
00054 public Subscriber<T> getSubscriber() {
00055 Preconditions.checkNotNull(subscriber);
00056 return subscriber;
00057 }
00058 }