orocos-toolchain/rtt — pull request #24 by meyerj (2014-02-19 21:26:00+00:00)
Title: Refactoring of the ServiceRequester class

* `ServiceRequester` inherits from `DataFlowInterface` which allows to add required ports.
Matching ports are connected to the providing service in `ServiceRequester::connectTo()`.
`ServiceRequester::ready()` only returns true if all ports are connected.

Note that `a->connectServices(b)` will also connect matching ports now if they have
been added to the required interface of TaskContext a or b. A port can either be added
to the TaskContext's provided interface (default case) or to its required interface (using
`requires()->addPort(...)`).

* Use shared pointers to manage ServiceRequester instances internally, like for Services.

* Added a `ServiceRequester::addServiceRequester(shared_ptr)` member function to add service
requesters created elsewhere to the interface (in analogy to `Service::addService(shared_ptr)`).

This patch breaks the `ServiceRequester` API and requires patches in [ocl](https://github.com/orocos-toolchain/ocl/compare/master...servicerequester-refactoring) and [rtt_ros_integration/ros_comm](https://github.com/orocos/rtt_ros_integration/compare/hydro-devel...servicerequester-refactoring).