Initial Work on Generic ROS Client #185
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
We previously had a stub in topic_provider showing that it would be possible to write a generic wrapper around both the ROS1 and Rosbridge backends. I pushed this aside previously when I realized that it was impossible to make the ROS trait "object safe" while maintaining the API that I wanted.
This beefs the initial work in there showing that it is possible to write a client which is generic on backend. Work is far from complete, but will likely be expanded in a series of MRs from here. This also serves as a forcing function to unify discrepancies between the rosbridge and ros1 APIs (looking at you Error types).
Fixes
Checklist