Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
RTT::os::StartStopManager Class Reference

This manager starts and stops all globally registered start/stop functions, without a particular order. More...

#include <StartStopManager.hpp>

Public Types

typedef int(* start_fun) (void)
 
typedef boost::function< void(void)> stop_fun
 

Public Member Functions

bool start ()
 Call all registered start functions. More...
 
void startFunction (start_fun t)
 Register a start function. More...
 
void stop ()
 Call all registered stop functions. More...
 
void stopFunction (stop_fun t)
 Register a stop function. More...
 

Static Public Member Functions

static StartStopManagerInstance ()
 
static void Release ()
 

Private Member Functions

void res_collector (start_fun f)
 
 StartStopManager ()
 
 ~StartStopManager ()
 

Static Private Member Functions

static void caller (stop_fun f)
 

Private Attributes

bool res
 
std::vector< start_funstartv
 
std::vector< stop_funstopv
 

Static Private Attributes

static StartStopManagermt
 

Detailed Description

This manager starts and stops all globally registered start/stop functions, without a particular order.

This is guaranteed to work, because it uses the Singleton pattern with a global pointer. This pointer is initialised to zero at program startup, before the global constructors are called. The first time a global constructor calls this manager, it will be properly constructed.

Definition at line 61 of file StartStopManager.hpp.

Member Typedef Documentation

typedef int(* RTT::os::StartStopManager::start_fun) (void)

Definition at line 70 of file StartStopManager.hpp.

typedef boost::function<void (void)> RTT::os::StartStopManager::stop_fun

Definition at line 71 of file StartStopManager.hpp.

Constructor & Destructor Documentation

RTT::os::StartStopManager::StartStopManager ( )
private

Definition at line 88 of file StartStopManager.cpp.

RTT::os::StartStopManager::~StartStopManager ( )
private

Definition at line 90 of file StartStopManager.cpp.

Member Function Documentation

static void RTT::os::StartStopManager::caller ( stop_fun  f)
inlinestaticprivate

Definition at line 107 of file StartStopManager.hpp.

StartStopManager * RTT::os::StartStopManager::Instance ( )
static

Definition at line 49 of file StartStopManager.cpp.

void RTT::os::StartStopManager::Release ( )
static

Definition at line 56 of file StartStopManager.cpp.

void RTT::os::StartStopManager::res_collector ( start_fun  f)
inlineprivate

Definition at line 101 of file StartStopManager.hpp.

bool RTT::os::StartStopManager::start ( )

Call all registered start functions.

Returns
false if one or more failed.

Definition at line 72 of file StartStopManager.cpp.

void RTT::os::StartStopManager::startFunction ( start_fun  t)

Register a start function.

Definition at line 62 of file StartStopManager.cpp.

void RTT::os::StartStopManager::stop ( )

Call all registered stop functions.

Definition at line 83 of file StartStopManager.cpp.

void RTT::os::StartStopManager::stopFunction ( stop_fun  t)

Register a stop function.

Definition at line 67 of file StartStopManager.cpp.

Member Data Documentation

StartStopManager * RTT::os::StartStopManager::mt
staticprivate

Definition at line 63 of file StartStopManager.hpp.

bool RTT::os::StartStopManager::res
private

Definition at line 113 of file StartStopManager.hpp.

std::vector<start_fun> RTT::os::StartStopManager::startv
private

Definition at line 115 of file StartStopManager.hpp.

std::vector<stop_fun> RTT::os::StartStopManager::stopv
private

Definition at line 116 of file StartStopManager.hpp.


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


rtt
Author(s): RTT Developers
autogenerated on Fri Oct 25 2019 03:59:47