A centralized list of all TaskContexts using SimClockActivity. More...
#include <rtt_rosclock_sim_clock_activity_manager.h>
Public Member Functions | |
| RTT::Seconds | getSimulationPeriod () const |
| void | setSimulationPeriod (RTT::Seconds s) |
| void | update () |
| Execute all activities modulo their desired periods. | |
| ~SimClockActivityManager () | |
Static Public Member Functions | |
| static boost::shared_ptr < SimClockActivityManager > | GetInstance () |
| Get an instance of the singleton if it exists, null pointer otherwise. | |
| static boost::shared_ptr < SimClockActivityManager > | Instance () |
| Get an instance of the singleton. | |
Protected Member Functions | |
| void | operator= (SimClockActivityManager const &) |
| SimClockActivityManager () | |
| The SimClockActivityManager is a singleton and is constructed by calling Instance() | |
| SimClockActivityManager (SimClockActivityManager const &) | |
| The SimClockActivityManager is a singleton and is constructed by calling Instance() | |
Private Member Functions | |
| void | add (SimClockActivity *activity) |
| Add an activity to the manager. | |
| void | remove (SimClockActivity *activity) |
| Remove an activity from the manager. | |
Private Attributes | |
| std::list< SimClockActivity * > | activities_ |
| All existing SimClockActivities. | |
| RTT::os::Mutex | modify_activities_mutex_ |
| Mutex used to exclude adding and removing activities from the update to all activities. | |
| RTT::Seconds | simulation_period_ |
| The desired/expected simulation period. | |
Static Private Attributes | |
| static boost::weak_ptr < SimClockActivityManager > | singleton |
| SimClockActivityManager singleton. | |
Friends | |
| class | SimClockActivity |
| Only SimClockActivities can add or remove themselves. | |
A centralized list of all TaskContexts using SimClockActivity.
The SimClockActivityManager is used to synchronously update all TaskContexts using a SimClockActivity. This is the primary interface to executing a set of periodic tasks in simulation.
Definition at line 63 of file rtt_rosclock_sim_clock_activity_manager.h.
Definition at line 76 of file rtt_rosclock_sim_clock_activity_manager.cpp.
| SimClockActivityManager::SimClockActivityManager | ( | ) | [protected] |
The SimClockActivityManager is a singleton and is constructed by calling Instance()
Definition at line 71 of file rtt_rosclock_sim_clock_activity_manager.cpp.
| rtt_rosclock::SimClockActivityManager::SimClockActivityManager | ( | SimClockActivityManager const & | ) | [protected] |
The SimClockActivityManager is a singleton and is constructed by calling Instance()
| void SimClockActivityManager::add | ( | SimClockActivity * | activity | ) | [private] |
Add an activity to the manager.
Definition at line 107 of file rtt_rosclock_sim_clock_activity_manager.cpp.
| boost::shared_ptr< SimClockActivityManager > SimClockActivityManager::GetInstance | ( | ) | [static] |
Get an instance of the singleton if it exists, null pointer otherwise.
Definition at line 54 of file rtt_rosclock_sim_clock_activity_manager.cpp.
Definition at line 80 of file rtt_rosclock_sim_clock_activity_manager.cpp.
| boost::shared_ptr< SimClockActivityManager > SimClockActivityManager::Instance | ( | ) | [static] |
Get an instance of the singleton.
Definition at line 59 of file rtt_rosclock_sim_clock_activity_manager.cpp.
| void rtt_rosclock::SimClockActivityManager::operator= | ( | SimClockActivityManager const & | ) | [protected] |
| void SimClockActivityManager::remove | ( | SimClockActivity * | activity | ) | [private] |
Remove an activity from the manager.
Definition at line 116 of file rtt_rosclock_sim_clock_activity_manager.cpp.
Definition at line 85 of file rtt_rosclock_sim_clock_activity_manager.cpp.
| void SimClockActivityManager::update | ( | ) |
Execute all activities modulo their desired periods.
Definition at line 90 of file rtt_rosclock_sim_clock_activity_manager.cpp.
friend class SimClockActivity [friend] |
Only SimClockActivities can add or remove themselves.
Definition at line 89 of file rtt_rosclock_sim_clock_activity_manager.h.
std::list<SimClockActivity *> rtt_rosclock::SimClockActivityManager::activities_ [private] |
All existing SimClockActivities.
Definition at line 105 of file rtt_rosclock_sim_clock_activity_manager.h.
Mutex used to exclude adding and removing activities from the update to all activities.
Definition at line 102 of file rtt_rosclock_sim_clock_activity_manager.h.
The desired/expected simulation period.
Definition at line 108 of file rtt_rosclock_sim_clock_activity_manager.h.
boost::weak_ptr< SimClockActivityManager > SimClockActivityManager::singleton [static, private] |
SimClockActivityManager singleton.
Definition at line 99 of file rtt_rosclock_sim_clock_activity_manager.h.