OpenWalnut
1.4.0
|
Class to encapsulate boost::condition_variable_any. More...
#include <WCondition.h>
Public Types | |
typedef boost::shared_ptr < WCondition > | SPtr |
Shared pointer type for WCondition. More... | |
typedef boost::shared_ptr < const WCondition > | ConstSPtr |
Const shared pointer type for WCondition. More... | |
typedef boost::function0< void > | t_ConditionNotifierType |
Type used for signalling condition changes. More... | |
Public Member Functions | |
WCondition () | |
Default constructor. More... | |
virtual | ~WCondition () |
Destructor. More... | |
virtual void | wait () const |
Wait for the condition. More... | |
virtual void | notify () |
Notifies all waiting threads. More... | |
boost::signals2::connection | subscribeSignal (t_ConditionNotifierType notifier) const |
Subscribes a specified function to be notified on condition change. More... | |
Protected Types | |
typedef boost::signals2::signal< void(void)> | t_ConditionSignalType |
Type used for condition notification. More... | |
Protected Attributes | |
t_ConditionSignalType | signal_ConditionFired |
Signal getting fired whenever the condition fires. More... | |
boost::condition_variable_any | m_condition |
The condition. More... | |
boost::shared_mutex | m_mutex |
The mutex used for the condition. More... | |
Friends | |
class | WCondition_test |
Class to encapsulate boost::condition_variable_any.
You may use it to efficiently wait for events (a condition comes true). It is a very simple implementation. It might be extended easily. Timed wait functions and so on.
Definition at line 39 of file WCondition.h.
typedef boost::shared_ptr< const WCondition > WCondition::ConstSPtr |
Const shared pointer type for WCondition.
Definition at line 51 of file WCondition.h.
typedef boost::shared_ptr< WCondition > WCondition::SPtr |
Shared pointer type for WCondition.
Definition at line 46 of file WCondition.h.
typedef boost::function0< void > WCondition::t_ConditionNotifierType |
Type used for signalling condition changes.
Definition at line 76 of file WCondition.h.
|
protected |
Type used for condition notification.
Definition at line 91 of file WCondition.h.
WCondition::WCondition | ( | ) |
Default constructor.
Definition at line 27 of file WCondition.cpp.
|
virtual |
Destructor.
Definition at line 32 of file WCondition.cpp.
|
virtual |
Notifies all waiting threads.
Reimplemented in WConditionOneShot.
Definition at line 44 of file WCondition.cpp.
References m_condition, and signal_ConditionFired.
Referenced by WConditionSet::conditionFired(), WConditionOneShot::notify(), WPropertyObserver::propertyUpdated(), Callable::threadMain(), and WModuleInputConnector::WModuleInputConnector().
boost::signals2::connection WCondition::subscribeSignal | ( | t_ConditionNotifierType | notifier) | const |
Subscribes a specified function to be notified on condition change.
notifier | the notifier function |
Definition at line 50 of file WCondition.cpp.
References signal_ConditionFired.
Referenced by WKernel::subscribeSignal(), WGraphicsEngine::subscribeSignal(), and WFlagTest::testChangeCondition().
|
virtual |
Wait for the condition.
Sets the calling thread asleep.
Reimplemented in WConditionSet, and WConditionOneShot.
Definition at line 37 of file WCondition.cpp.
References m_condition, and m_mutex.
Referenced by WConditionTest::testWaitNotify(), and WConditionSet::wait().
|
mutableprotected |
|
mutableprotected |
The mutex used for the condition.
Definition at line 106 of file WCondition.h.
Referenced by WConditionOneShot::wait(), wait(), and WConditionOneShot::WConditionOneShot().
|
mutableprotected |
Signal getting fired whenever the condition fires.
Definition at line 96 of file WCondition.h.
Referenced by notify(), and subscribeSignal().