17 #ifndef _GAZEBO_UTIL_LOGPLAY_HH_
18 #define _GAZEBO_UTIL_LOGPLAY_HH_
61 public:
void Open(
const std::string &_logFile);
65 public:
bool IsOpen()
const;
76 public: std::string LogVersion()
const;
87 public: std::string GazeboVersion()
const;
98 public: uint32_t RandSeed()
const;
125 public: std::string Filename()
const;
134 public: std::string FullPathFilename()
const;
143 public: uintmax_t FileSize()
const;
147 public:
bool Step(std::string &_data);
151 public:
bool StepBack(std::string &_data);
156 public:
bool Step(
const int _step, std::string &_data);
167 public:
bool Rewind();
171 public:
bool Forward();
180 public:
unsigned int ChunkCount()
const;
187 public:
bool GetChunk(
unsigned int _index, std::string &_data)
194 public:
bool Chunk(
const unsigned int _index, std::string &_data)
const;
207 public: std::string Encoding()
const;
218 public: std::string Header()
const;
227 public: uint64_t InitialIterations()
const;
233 public:
bool HasIterations()
const;
239 private:
bool ChunkData(tinyxml2::XMLElement *_xml,
240 std::string &_data)
const;
243 private:
void ReadHeader();
247 private:
void ReadLogTimes();
253 private:
bool ReadIterations();
258 private:
bool NextChunk();
263 private:
bool PrevChunk();
267 private: std::unique_ptr<LogPlayPrivate> dataPtr;
GAZEBO_VISIBLE msgs::Header * GetHeader(google::protobuf::Message &_message)
Get the header from a protobuf message.
#define GAZEBO_DEPRECATED(version)
Definition: CommonTypes.hh:48
Singleton template class.
Definition: SingletonT.hh:33
#define GZ_UTIL_VISIBLE
Definition: system.hh:234
Definition: LogPlay.hh:47
A Time class, can be used to hold wall- or sim-time.
Definition: Time.hh:44