te::common::ObjectLevelLockable< Host, MutexPolicy, LockReadingPolicy, LockWritingPolicy >::ObjectLevelLockingPolicy< LockingPolicy > Class Template Reference

This class acquires a lock over the host object. More...

#include <ThreadingPolicies.h>

Public Member Functions

 ObjectLevelLockingPolicy (const Host &host)
 Through this constructor the host object will be locked. More...
 
 ObjectLevelLockingPolicy (const Host *host)
 Through this constructor the pointed host object will be locked. More...
 
 ~ObjectLevelLockingPolicy ()
 Destructor. More...
 

Private Member Functions

 ObjectLevelLockingPolicy (const ObjectLevelLockingPolicy &)
 
ObjectLevelLockingPolicyoperator= (const ObjectLevelLockingPolicy &)
 

Private Attributes

LockingPolicy m_lock
 lock policy. More...
 

Detailed Description

template<class Host, class MutexPolicy = TE_DEFAULT_MUTEX_POLICY, class LockReadingPolicy = TE_DEFAULT_LOCK_READING_POLICY, class LockWritingPolicy = TE_DEFAULT_LOCK_WRITING_POLICY>
template<class LockingPolicy>
class te::common::ObjectLevelLockable< Host, MutexPolicy, LockReadingPolicy, LockWritingPolicy >::ObjectLevelLockingPolicy< LockingPolicy >

This class acquires a lock over the host object.

Requirements on type LockingPolicy:

  • it must be one of: boost::lock_guard, boost::unique_lock, boost::shared_lock, boost::upgrade_lock, boost::upgrade_to_unique_lock

Definition at line 165 of file ThreadingPolicies.h.

Constructor & Destructor Documentation

template<class Host, class MutexPolicy = TE_DEFAULT_MUTEX_POLICY, class LockReadingPolicy = TE_DEFAULT_LOCK_READING_POLICY, class LockWritingPolicy = TE_DEFAULT_LOCK_WRITING_POLICY>
template<class LockingPolicy >
te::common::ObjectLevelLockable< Host, MutexPolicy, LockReadingPolicy, LockWritingPolicy >::ObjectLevelLockingPolicy< LockingPolicy >::ObjectLevelLockingPolicy ( const Host &  host)
inlineexplicit

Through this constructor the host object will be locked.

Parameters
hostThe host object to be locked.

Definition at line 174 of file ThreadingPolicies.h.

template<class Host, class MutexPolicy = TE_DEFAULT_MUTEX_POLICY, class LockReadingPolicy = TE_DEFAULT_LOCK_READING_POLICY, class LockWritingPolicy = TE_DEFAULT_LOCK_WRITING_POLICY>
template<class LockingPolicy >
te::common::ObjectLevelLockable< Host, MutexPolicy, LockReadingPolicy, LockWritingPolicy >::ObjectLevelLockingPolicy< LockingPolicy >::ObjectLevelLockingPolicy ( const Host *  host)
inlineexplicit

Through this constructor the pointed host object will be locked.

Parameters
hostA pointer to the host object to be locked.

Definition at line 184 of file ThreadingPolicies.h.

template<class Host, class MutexPolicy = TE_DEFAULT_MUTEX_POLICY, class LockReadingPolicy = TE_DEFAULT_LOCK_READING_POLICY, class LockWritingPolicy = TE_DEFAULT_LOCK_WRITING_POLICY>
template<class LockingPolicy >
te::common::ObjectLevelLockable< Host, MutexPolicy, LockReadingPolicy, LockWritingPolicy >::ObjectLevelLockingPolicy< LockingPolicy >::~ObjectLevelLockingPolicy ( )
inline

Destructor.

Definition at line 190 of file ThreadingPolicies.h.

template<class Host, class MutexPolicy = TE_DEFAULT_MUTEX_POLICY, class LockReadingPolicy = TE_DEFAULT_LOCK_READING_POLICY, class LockWritingPolicy = TE_DEFAULT_LOCK_WRITING_POLICY>
template<class LockingPolicy >
te::common::ObjectLevelLockable< Host, MutexPolicy, LockReadingPolicy, LockWritingPolicy >::ObjectLevelLockingPolicy< LockingPolicy >::ObjectLevelLockingPolicy ( const ObjectLevelLockingPolicy< LockingPolicy > &  )
private

Member Function Documentation

template<class Host, class MutexPolicy = TE_DEFAULT_MUTEX_POLICY, class LockReadingPolicy = TE_DEFAULT_LOCK_READING_POLICY, class LockWritingPolicy = TE_DEFAULT_LOCK_WRITING_POLICY>
template<class LockingPolicy >
ObjectLevelLockingPolicy& te::common::ObjectLevelLockable< Host, MutexPolicy, LockReadingPolicy, LockWritingPolicy >::ObjectLevelLockingPolicy< LockingPolicy >::operator= ( const ObjectLevelLockingPolicy< LockingPolicy > &  )
private

Member Data Documentation

template<class Host, class MutexPolicy = TE_DEFAULT_MUTEX_POLICY, class LockReadingPolicy = TE_DEFAULT_LOCK_READING_POLICY, class LockWritingPolicy = TE_DEFAULT_LOCK_WRITING_POLICY>
template<class LockingPolicy >
LockingPolicy te::common::ObjectLevelLockable< Host, MutexPolicy, LockReadingPolicy, LockWritingPolicy >::ObjectLevelLockingPolicy< LockingPolicy >::m_lock
private

lock policy.

Definition at line 201 of file ThreadingPolicies.h.


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