![]() |
OpenWalnut
1.5.0dev
|
Class which represents granted access to a locked object. More...
#include <WSharedObjectTicketRead.h>
Inheritance diagram for WSharedObjectTicketRead< Data >:
Collaboration diagram for WSharedObjectTicketRead< Data >:Public Member Functions | |
| virtual | ~WSharedObjectTicketRead () |
| Destroys the ticket and releases the lock. More... | |
| const Data & | get () const |
| Returns the protected data. More... | |
Public Member Functions inherited from WSharedObjectTicket< Data > | |
| virtual | ~WSharedObjectTicket () |
| Destroys the ticket and releases the lock. More... | |
| void | suppressUnlockCondition () |
| If called, the unlock will NOT fire the condition. More... | |
Protected Member Functions | |
| WSharedObjectTicketRead (Data &data, std::shared_ptr< std::shared_mutex > mutex, std::shared_ptr< WCondition > condition) | |
| Create a new instance. More... | |
| virtual void | unlock () |
| Unlocks the mutex. More... | |
Protected Member Functions inherited from WSharedObjectTicket< Data > | |
| WSharedObjectTicket (Data &data, std::shared_ptr< std::shared_mutex > mutex, std::shared_ptr< WCondition > condition) | |
| Create a new instance. More... | |
Protected Attributes | |
| boost::shared_lock< std::shared_mutex > | m_lock |
| The lock. More... | |
Protected Attributes inherited from WSharedObjectTicket< Data > | |
| Data & | m_data |
| The data to which access is allowed by the ticket. More... | |
| std::shared_ptr< std::shared_mutex > | m_mutex |
| The mutex used for locking. More... | |
| std::shared_ptr< WCondition > | m_condition |
| A condition which gets notified after unlocking. More... | |
Friends | |
| class | WSharedObject< Data > |
| The shared object class needs protected access to create new instances. More... | |
Class which represents granted access to a locked object.
It contains a reference to the object and a lock. The lock is freed after the ticket has been destroyed. This class especially implements the shared (read) lock.
Definition at line 40 of file WSharedObjectTicketRead.h.
|
inlinevirtual |
Destroys the ticket and releases the lock.
Definition at line 50 of file WSharedObjectTicketRead.h.
References WSharedObjectTicketRead< Data >::unlock().
Here is the call graph for this function:
|
inlineprotected |
Create a new instance.
It is protected to avoid someone to create them. It locks the mutex for read.
| data | the data to protect |
| mutex | the mutex used to lock |
| condition | a condition that should be fired upon unlock. Can be NULL. |
Definition at line 76 of file WSharedObjectTicketRead.h.
|
inline |
Returns the protected data.
As long as you own the ticket, you are allowed to use it.
Definition at line 63 of file WSharedObjectTicketRead.h.
|
inlineprotectedvirtual |
Unlocks the mutex.
Implements WSharedObjectTicket< Data >.
Definition at line 90 of file WSharedObjectTicketRead.h.
References WSharedObjectTicketRead< Data >::m_lock.
Referenced by WSharedObjectTicketRead< Data >::~WSharedObjectTicketRead().
Here is the caller graph for this function:
|
friend |
The shared object class needs protected access to create new instances.
Definition at line 1 of file WSharedObjectTicketRead.h.
|
protected |
The lock.
Definition at line 85 of file WSharedObjectTicketRead.h.
Referenced by WSharedObjectTicketRead< Data >::unlock().