Public Member Functions

fawkes::LockList< Type > Class Template Reference
[Fawkes Core Library]

List with a lock. More...

#include <>>

Inheritance diagram for fawkes::LockList< Type >:
Inheritance graph
[legend]

List of all members.

Public Member Functions

 LockList ()
 Constructor.
 LockList (const LockList< Type > &ll)
 Copy constructor.
virtual ~LockList ()
 Destructor.
virtual void lock () const
 Lock list.
virtual bool try_lock () const
 Try to lock list.
virtual void unlock () const
 Unlock list.
RefPtr< Mutexmutex () const
 Get access to the internal mutex.
void push_back_locked (const Type &x)
 Push element to list at back with lock protection.
void push_front_locked (const Type &x)
 Push element to list at front with lock protection.
void remove_locked (const Type &x)
 Remove element from list with lock protection.
LockList< Type > & operator= (const LockList< Type > &ll)
 Copy values from another LockList.
LockList< Type > & operator= (const std::list< Type > &l)
 Copy values from a standard list.

Detailed Description

template<typename Type>
class fawkes::LockList< Type >

List with a lock.

This class provides a list that has an intrinsic lock. The lock can be applied with the regular locking methods.

See also:
Mutex
Author:
Tim Niemueller

Definition at line 35 of file lock_list.h.


Constructor & Destructor Documentation

template<typename Type >
fawkes::LockList< Type >::LockList (  ) 

Constructor.

Definition at line 71 of file lock_list.h.

template<typename Type>
fawkes::LockList< Type >::LockList ( const LockList< Type > &  ll  ) 

Copy constructor.

Parameters:
ll LockList to copy

Definition at line 80 of file lock_list.h.

template<typename Type >
fawkes::LockList< Type >::~LockList (  )  [virtual]

Destructor.

Definition at line 87 of file lock_list.h.


Member Function Documentation

template<typename Type >
void fawkes::LockList< Type >::lock (  )  const [virtual]

Lock list.

Definition at line 94 of file lock_list.h.

Referenced by firevision::FuseImageListWidget::add_fountain_service(), fawkes::WorldInfoTransceiver::add_handler(), fawkes::PluginManager::add_listener(), fawkes::WorldInfoDataContainer::check_timeout(), fawkes::ConfigNetworkHandler::client_disconnected(), fawkes::ConfigNetworkHandler::config_comment_changed(), fawkes::PluginManager::config_value_changed(), fawkes::ConfigNetworkHandler::config_value_changed(), fawkes::PluginManager::config_value_erased(), fawkes::ConfigNetworkHandler::config_value_erased(), fawkes::PluginManager::fam_event(), FvBaseThread::finalize(), FawkesThreadManager::force_remove(), fawkes::WorldInfoDataContainer::get_timedout_hosts(), fawkes::NetworkLogger::handle_network_message(), fawkes::NetworkLogger::log_debug(), fawkes::NetworkLogger::log_error(), fawkes::NetworkLogger::log_info(), fawkes::NetworkLogger::log_warn(), fawkes::PluginNetworkHandler::loop(), firevision::FuseServer::loop(), fawkes::LockList< Type >::operator=(), fawkes::WorldInfoTransceiver::recv(), FvBaseThread::release_camctrl(), fawkes::NetworkLogger::tlog_debug(), fawkes::NetworkLogger::tlog_error(), fawkes::NetworkLogger::tlog_info(), fawkes::NetworkLogger::tlog_warn(), fawkes::NetworkLogger::vlog_debug(), fawkes::NetworkLogger::vlog_error(), fawkes::NetworkLogger::vlog_info(), fawkes::NetworkLogger::vlog_warn(), fawkes::NetworkLogger::vtlog_debug(), fawkes::NetworkLogger::vtlog_error(), fawkes::NetworkLogger::vtlog_info(), fawkes::NetworkLogger::vtlog_warn(), firevision::FuseImageListWidget::~FuseImageListWidget(), fawkes::PluginManager::~PluginManager(), and WorldModelObjPosAverageFuser::~WorldModelObjPosAverageFuser().

template<typename Type >
RefPtr< Mutex > fawkes::LockList< Type >::mutex (  )  const

Get access to the internal mutex.

Can be used with MutexLocker.

Returns:
internal mutex

Definition at line 165 of file lock_list.h.

Referenced by WorldModelObjPosAverageFuser::fuse().

template<typename Type>
LockList< Type > & fawkes::LockList< Type >::operator= ( const std::list< Type > &  l  ) 

Copy values from a standard list.

Copies the values one by one. This instance is locked during the copying and cleared.

Parameters:
l list to copy
Returns:
reference to this instance

Definition at line 203 of file lock_list.h.

template<typename Type>
LockList< Type > & fawkes::LockList< Type >::operator= ( const LockList< Type > &  ll  ) 

Copy values from another LockList.

Copies the values one by one. Both instances are locked during the copying and this instance is cleared before copying.

Parameters:
ll list to copy
Returns:
reference to this instance

Definition at line 179 of file lock_list.h.

References fawkes::LockList< Type >::lock(), and fawkes::LockList< Type >::unlock().

template<typename Type>
void fawkes::LockList< Type >::push_back_locked ( const Type &  x  ) 
template<typename Type>
void fawkes::LockList< Type >::push_front_locked ( const Type &  x  ) 

Push element to list at front with lock protection.

Parameters:
x element to add

Definition at line 138 of file lock_list.h.

template<typename Type>
void fawkes::LockList< Type >::remove_locked ( const Type &  x  ) 
template<typename Type >
bool fawkes::LockList< Type >::try_lock (  )  const [virtual]

Try to lock list.

Returns:
true, if the lock has been aquired, false otherwise.

Definition at line 105 of file lock_list.h.

template<typename Type >
void fawkes::LockList< Type >::unlock (  )  const [virtual]

Unlock list.

Definition at line 114 of file lock_list.h.

Referenced by firevision::FuseImageListWidget::add_fountain_service(), fawkes::WorldInfoTransceiver::add_handler(), fawkes::PluginManager::add_listener(), fawkes::WorldInfoDataContainer::check_timeout(), fawkes::ConfigNetworkHandler::client_disconnected(), fawkes::ConfigNetworkHandler::config_comment_changed(), fawkes::PluginManager::config_value_changed(), fawkes::ConfigNetworkHandler::config_value_changed(), fawkes::PluginManager::config_value_erased(), fawkes::ConfigNetworkHandler::config_value_erased(), fawkes::PluginManager::fam_event(), FvBaseThread::finalize(), FawkesThreadManager::force_remove(), fawkes::WorldInfoDataContainer::get_timedout_hosts(), fawkes::NetworkLogger::handle_network_message(), fawkes::NetworkLogger::log_debug(), fawkes::NetworkLogger::log_error(), fawkes::NetworkLogger::log_info(), fawkes::NetworkLogger::log_warn(), fawkes::PluginNetworkHandler::loop(), firevision::FuseServer::loop(), fawkes::LockList< Type >::operator=(), fawkes::WorldInfoTransceiver::recv(), FvBaseThread::release_camctrl(), fawkes::NetworkLogger::tlog_debug(), fawkes::NetworkLogger::tlog_error(), fawkes::NetworkLogger::tlog_info(), fawkes::NetworkLogger::tlog_warn(), fawkes::NetworkLogger::vlog_debug(), fawkes::NetworkLogger::vlog_error(), fawkes::NetworkLogger::vlog_info(), fawkes::NetworkLogger::vlog_warn(), fawkes::NetworkLogger::vtlog_debug(), fawkes::NetworkLogger::vtlog_error(), fawkes::NetworkLogger::vtlog_info(), fawkes::NetworkLogger::vtlog_warn(), firevision::FuseImageListWidget::~FuseImageListWidget(), fawkes::PluginManager::~PluginManager(), and WorldModelObjPosAverageFuser::~WorldModelObjPosAverageFuser().


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