jhu-lcsr-forks/rtt_ros_integration — pull request #50 by meyerj (2013-11-15 21:26:08+00:00)
Title: rtt_rosparam: Added support for subservices

Recreated #47 as I accidentally pushed a merged branch to the wrong repository:

This patch will add sub-service support to rtt_rosparam. A component could have nested services that also have properties. Currently it is not possible to load or store parameters of nested services.

There are several modifications, that I shortly summarize here:

1. I added policy-specific operations `getAllXXX()` and `setAllXXX()` in analogy to the per-parameter operations. This is not directly related to services, but I need it to fetch all parameters of a component with a nested service from another namespace than it's private component namespace (dd2ef57).

2. The `getAllXXX()` and `setAllXXX()` operations will recurse into services and also get/set their properties from/on the parameter server. This will only work for services, not for peers.

3. If a service is passed to `getXXX(name)` or `setXXX(name)` operations and no property of that name exists, the rosparam service will search a service with that name and recursively call `getAllXXX()`/`setAllXXX()` for that specific service only.

Note that `getAllAbsolute()` and `setAllAbsolute()` (where the latter probably does not make so much sense anyway) currently are broken due to https://github.com/ros/ros_comm/pull/313.

Documentation in [README.md](https://github.com/jhu-lcsr-forks/rtt_ros_integration/blob/hydro-devel/README.md) still needs to be updated...