35 #ifndef ROSBAG_MESSAGE_INSTANCE_H 36 #define ROSBAG_MESSAGE_INSTANCE_H 70 std::shared_ptr<rs2rosinternal::M_string> getConnectionHeader()
const;
73 bool isLatching()
const;
87 std::shared_ptr<T> instantiate()
const;
90 template<
typename Stream>
108 namespace message_traits {
130 namespace serialization
136 template<
typename Stream>
157 return md5sum ==
std::string(
"*") || md5sum == getMD5Sum();
163 return std::shared_ptr<T>();
165 return bag_->instantiateBuffer<
T>(index_entry_);
168 template<
typename Stream>
170 bag_->readMessageDataIntoStream(index_entry_, stream);
const char * md5sum()
returns MD5Sum<M>::value();
ConnectionInfo const * connection_info_
Specialize to provide the md5sum for a message.
IndexEntry const index_entry_
static const char * value(const rosbag::MessageInstance &m)
GLsizei const GLchar *const * string
std::string const & getMD5Sum() const
Specialize to provide the datatype for a message.
static const char * value()
Stream base-class, provides common functionality for IStream and OStream.
bool isType() const
Test whether the underlying message of the specified type.
A class pointing into a bag file.
uint32_t size() const
Size of serialized message.
static const char * value(const rosbag::MessageInstance &m)
static void write(Stream &stream, const rosbag::MessageInstance &m)
Time representation. May either represent wall clock time or ROS clock time.
Specialize to provide the definition for a message.
std::string const & getMessageDefinition() const
static const char * value(const rosbag::MessageInstance &m)
std::string const & getDataType() const
static uint32_t serializedLength(const rosbag::MessageInstance &m)
Templated serialization class. Default implementation provides backwards compatibility with old messa...
std::shared_ptr< T > instantiate() const
Templated call to instantiate a message.
#define ROSBAG_DECL
#include <ros/macros.h> // for the DECL's
void write(Stream &stream) const
Write serialized message contents out to a stream.