Skip to content

Commit 616c22e

Browse files
ivanpaunojacobperron
authored andcommitted
Add methods to create a parameter client in Node (osrf#75)
* Cleanup service/client creation code Signed-off-by: Ivan Santiago Paunovic <[email protected]> * Add methods to create a parameter client in Node Signed-off-by: Ivan Santiago Paunovic <[email protected]>
1 parent 8b88b39 commit 616c22e

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

rcljava/src/main/java/org/ros2/rcljava/node/Node.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@
3939
import org.ros2.rcljava.parameters.ParameterCallback;
4040
import org.ros2.rcljava.parameters.ParameterType;
4141
import org.ros2.rcljava.parameters.ParameterVariant;
42+
import org.ros2.rcljava.parameters.client.AsyncParametersClient;
43+
import org.ros2.rcljava.parameters.client.SyncParametersClient;
4244
import org.ros2.rcljava.publisher.Publisher;
4345
import org.ros2.rcljava.qos.QoSProfile;
4446
import org.ros2.rcljava.service.RMWRequestId;
@@ -264,6 +266,16 @@ <T extends ActionDefinition> ActionServer<T> createActionServer(final Class<T> a
264266
*/
265267
String getNamespace();
266268

269+
/**
270+
* Create an asynchronous parameter client.
271+
*/
272+
AsyncParametersClient createAsyncParametersClient(String nodeName);
273+
274+
/**
275+
* Create an synchronous parameter client.
276+
*/
277+
SyncParametersClient createSyncParametersClient(String nodeName);
278+
267279
/**
268280
* Declare and initialize a parameter, return the effective value.
269281
*

rcljava/src/main/java/org/ros2/rcljava/node/NodeImpl.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,10 @@
4444
import org.ros2.rcljava.parameters.ParameterNotDeclaredException;
4545
import org.ros2.rcljava.parameters.ParameterType;
4646
import org.ros2.rcljava.parameters.ParameterVariant;
47+
import org.ros2.rcljava.parameters.client.AsyncParametersClient;
48+
import org.ros2.rcljava.parameters.client.AsyncParametersClientImpl;
49+
import org.ros2.rcljava.parameters.client.SyncParametersClient;
50+
import org.ros2.rcljava.parameters.client.SyncParametersClientImpl;
4751
import org.ros2.rcljava.parameters.service.ParameterService;
4852
import org.ros2.rcljava.parameters.service.ParameterServiceImpl;
4953
import org.ros2.rcljava.publisher.Publisher;
@@ -533,6 +537,14 @@ public final String getNamespace() {
533537
return nativeGetNamespace(this.handle);
534538
}
535539

540+
public AsyncParametersClient createAsyncParametersClient(String nodeName) {
541+
return new AsyncParametersClientImpl(this, nodeName);
542+
}
543+
544+
public SyncParametersClient createSyncParametersClient(String nodeName) {
545+
return new SyncParametersClientImpl(this, nodeName);
546+
}
547+
536548
public ParameterVariant declareParameter(ParameterVariant parameter) {
537549
return declareParameter(parameter, new rcl_interfaces.msg.ParameterDescriptor().setName(parameter.getName()));
538550
}

0 commit comments

Comments
 (0)