Skip to content
Snippets Groups Projects
Commit bb4d177a authored by Lorenz Moesenlechner's avatar Lorenz Moesenlechner
Browse files

Refactored Listener and Talker to work with new NodeRunner

The NodeMain's main method doesn't get an NodeConfiguration anymore but a Node
instance.
parent 0c73f355
No related branches found
No related tags found
No related merge requests found
......@@ -18,12 +18,12 @@ package org.ros.tutorials.pubsub;
import org.apache.commons.logging.Log;
import org.ros.message.MessageListener;
import org.ros.node.DefaultNodeFactory;
import org.ros.node.Node;
import org.ros.node.NodeConfiguration;
import org.ros.node.NodeMain;
import org.ros.node.topic.Subscriber;
import com.google.common.base.Preconditions;
/**
* This is a simple rosjava {@link Subscriber} {@link Node}. It assumes an
* external roscore is already running.
......@@ -35,9 +35,10 @@ public class Listener implements NodeMain {
private Node node;
@Override
public void main(NodeConfiguration configuration) {
public void main(Node node) {
Preconditions.checkState(this.node == null);
this.node = node;
try {
node = new DefaultNodeFactory().newNode("listener", configuration);
final Log log = node.getLog();
node.newSubscriber("chatter", "std_msgs/String",
new MessageListener<org.ros.message.std_msgs.String>() {
......@@ -58,6 +59,7 @@ public class Listener implements NodeMain {
@Override
public void shutdown() {
node.shutdown();
node = null;
}
}
......@@ -16,14 +16,12 @@
package org.ros.tutorials.pubsub;
import com.google.common.base.Preconditions;
import org.ros.node.DefaultNodeFactory;
import org.ros.node.Node;
import org.ros.node.NodeConfiguration;
import org.ros.node.NodeMain;
import org.ros.node.topic.Publisher;
import com.google.common.base.Preconditions;
/**
* This is a simple rosjava {@link Publisher} {@link Node}. It assumes an
* external roscore is already running.
......@@ -36,11 +34,10 @@ public class Talker implements NodeMain {
private Node node;
@Override
public void main(NodeConfiguration configuration) {
Preconditions.checkState(node == null);
Preconditions.checkNotNull(configuration);
public void main(Node node) {
Preconditions.checkState(this.node == null);
this.node = node;
try {
node = new DefaultNodeFactory().newNode("talker", configuration);
Publisher<org.ros.message.std_msgs.String> publisher =
node.newPublisher("chatter", "std_msgs/String");
int seq = 0;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment