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.
This is a PR to clarify the C interface for rosbag2. The goal is to allow client libraries for different languages (e.g.
rosbag2cpp
androsbag2py
) to interact with rosbag2.I would assume the introduced classes will then constitute the only headers in
rosbag2
. All other headers will be removed (those are more or less the types I see forrosbag2cpp
).Expected usage:
Record:
rmw_serialized_message_t *
. I initialize arosbag2_serialized_bag_message_t *
and plug in the message handle, timestamp and topic typerosbag2_serialized_bag_message_t *
to the storage layer which takes control over it (needs to be documented)Play:
rosbag2_serialized_bag_message_t
(in the transport layer) and hand it to the storage layer to be filled.Info:
Writer/SequentialReader are used as before. Both contain an opaque struct.
Questions:
.h
or.hpp
? Both are ok with me.bag_metadata
- this is something I left in the same file. If you want (or if these types will be used anywhere else), I'd separate them out. Or would you like them to be separated immediately?