00001
00002
00003
00004
00005
00008
00009 #ifndef _ROKU_INCLUDE_CASCADE_INTERTHREAD_CASCADEMONITOR_H
00010 #define _ROKU_INCLUDE_CASCADE_INTERTHREAD_CASCADEMONITOR_H
00011
00012 #include <cascade/CascadeObject.h>
00013
00025 class CascadeMonitor : public CascadeObject
00026 {
00027 public:
00028 CascadeMonitor();
00032 virtual ~CascadeMonitor();
00036 public:
00037 void Enter();
00047 void Exit();
00053 void Notify();
00070 void Broadcast();
00078 bool WaitForNotification(u32 nTimeoutMilliseconds = 0);
00098
00099 private:
00100 class Monitor;
00101 Monitor * m_pMonitor;
00102 };
00103
00104 #endif // #ifndef _ROKU_INCLUDE_CASCADE_INTERTHREAD_CASCADEMONITOR_H
00105
00107
00109
00110
00111
00112
00113
00114