Public Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
rosbag::Player Class Reference

PRIVATE. Player class to abstract the interface to the player. More...

#include <player.h>

Public Member Functions

 Player (PlayerOptions const &options)
 
void publish ()
 
 ~Player ()
 

Private Types

typedef std::map< std::string, ros::PublisherPublisherMap
 

Private Member Functions

void advertise (const ConnectionInfo *c)
 
void doKeepAlive ()
 
void doPublish (rosbag::MessageInstance const &m)
 
bool pauseCallback (std_srvs::SetBool::Request &req, std_srvs::SetBool::Response &res)
 
void printTime ()
 
void processPause (const bool paused, ros::WallTime &horizon)
 
int readCharFromStdin ()
 
void restoreTerminal ()
 
void setupTerminal ()
 
void updateRateTopicTime (const ros::MessageEvent< topic_tools::ShapeShifter const > &msg_event)
 
void waitForSubscribers () const
 

Private Attributes

ros::Duration bag_length_
 
std::vector< boost::shared_ptr< Bag > > bags_
 
bool delayed_
 
ros::Time last_rate_control_
 
int maxfd_
 
ros::NodeHandle node_handle_
 
PlayerOptions options_
 
termios orig_flags_
 
bool pause_change_requested_
 
bool pause_for_topics_
 
ros::ServiceServer pause_service_
 
bool paused_
 
ros::WallTime paused_time_
 
PublisherMap publishers_
 
ros::Subscriber rate_control_sub_
 
bool requested_pause_state_
 
ros::Time start_time_
 
fd_set stdin_fdset_
 
bool terminal_modified_
 
TimePublisher time_publisher_
 
TimeTranslator time_translator_
 

Detailed Description

PRIVATE. Player class to abstract the interface to the player.

This API is currently considered private, but will be released in the future after view.

Definition at line 169 of file player.h.

Member Typedef Documentation

◆ PublisherMap

typedef std::map<std::string, ros::Publisher> rosbag::Player::PublisherMap
private

Definition at line 199 of file player.h.

Constructor & Destructor Documentation

◆ Player()

rosbag::Player::Player ( PlayerOptions const &  options)

Definition at line 110 of file player.cpp.

◆ ~Player()

rosbag::Player::~Player ( )

Definition at line 124 of file player.cpp.

Member Function Documentation

◆ advertise()

void rosbag::Player::advertise ( const ConnectionInfo c)
private

Definition at line 456 of file player.cpp.

◆ doKeepAlive()

void rosbag::Player::doKeepAlive ( )
private

Definition at line 615 of file player.cpp.

◆ doPublish()

void rosbag::Player::doPublish ( rosbag::MessageInstance const &  m)
private

Definition at line 474 of file player.cpp.

◆ pauseCallback()

bool rosbag::Player::pauseCallback ( std_srvs::SetBool::Request &  req,
std_srvs::SetBool::Response &  res 
)
private

Definition at line 401 of file player.cpp.

◆ printTime()

void rosbag::Player::printTime ( )
private

Definition at line 376 of file player.cpp.

◆ processPause()

void rosbag::Player::processPause ( const bool  paused,
ros::WallTime horizon 
)
private

Definition at line 420 of file player.cpp.

◆ publish()

void rosbag::Player::publish ( )

Definition at line 131 of file player.cpp.

◆ readCharFromStdin()

int rosbag::Player::readCharFromStdin ( )
private

Definition at line 729 of file player.cpp.

◆ restoreTerminal()

void rosbag::Player::restoreTerminal ( )
private

Definition at line 716 of file player.cpp.

◆ setupTerminal()

void rosbag::Player::setupTerminal ( )
private

Definition at line 675 of file player.cpp.

◆ updateRateTopicTime()

void rosbag::Player::updateRateTopicTime ( const ros::MessageEvent< topic_tools::ShapeShifter const > &  msg_event)
private

Definition at line 339 of file player.cpp.

◆ waitForSubscribers()

void rosbag::Player::waitForSubscribers ( ) const
private

Definition at line 441 of file player.cpp.

Member Data Documentation

◆ bag_length_

ros::Duration rosbag::Player::bag_length_
private

Definition at line 239 of file player.h.

◆ bags_

std::vector<boost::shared_ptr<Bag> > rosbag::Player::bags_
private

Definition at line 221 of file player.h.

◆ delayed_

bool rosbag::Player::delayed_
private

Definition at line 208 of file player.h.

◆ last_rate_control_

ros::Time rosbag::Player::last_rate_control_
private

Definition at line 217 of file player.h.

◆ maxfd_

int rosbag::Player::maxfd_
private

Definition at line 233 of file player.h.

◆ node_handle_

ros::NodeHandle rosbag::Player::node_handle_
private

Definition at line 203 of file player.h.

◆ options_

PlayerOptions rosbag::Player::options_
private

Definition at line 201 of file player.h.

◆ orig_flags_

termios rosbag::Player::orig_flags_
private

Definition at line 230 of file player.h.

◆ pause_change_requested_

bool rosbag::Player::pause_change_requested_
private

Definition at line 212 of file player.h.

◆ pause_for_topics_

bool rosbag::Player::pause_for_topics_
private

Definition at line 210 of file player.h.

◆ pause_service_

ros::ServiceServer rosbag::Player::pause_service_
private

Definition at line 205 of file player.h.

◆ paused_

bool rosbag::Player::paused_
private

Definition at line 207 of file player.h.

◆ paused_time_

ros::WallTime rosbag::Player::paused_time_
private

Definition at line 219 of file player.h.

◆ publishers_

PublisherMap rosbag::Player::publishers_
private

Definition at line 222 of file player.h.

◆ rate_control_sub_

ros::Subscriber rosbag::Player::rate_control_sub_
private

Definition at line 216 of file player.h.

◆ requested_pause_state_

bool rosbag::Player::requested_pause_state_
private

Definition at line 214 of file player.h.

◆ start_time_

ros::Time rosbag::Player::start_time_
private

Definition at line 238 of file player.h.

◆ stdin_fdset_

fd_set rosbag::Player::stdin_fdset_
private

Definition at line 231 of file player.h.

◆ terminal_modified_

bool rosbag::Player::terminal_modified_
private

Definition at line 225 of file player.h.

◆ time_publisher_

TimePublisher rosbag::Player::time_publisher_
private

Definition at line 236 of file player.h.

◆ time_translator_

TimeTranslator rosbag::Player::time_translator_
private

Definition at line 235 of file player.h.


The documentation for this class was generated from the following files:


rosbag
Author(s): Tim Field, Jeremy Leibs, James Bowman, Dirk Thomas
autogenerated on Mon Feb 28 2022 23:34:21