gatelib  2.1
g_mthread_WinEvent.h
1 #pragma once
2 
3 #include "g_common.h"
4 #include "g_mthread_ISyncObject.h"
5 
6 #if G_AUTOPTION_ON_WINDOWS && !G_OPTION_HIDE_INCOMPATIBLE
7 
8 namespace g
9 {
10 namespace mthread
11 {
12 
13 enum WinEventResetMode_t
14 {
15  g_manual_reset ,
16  g_auto_reset
17 };
18 
19 class G_LIB_ITEM WinEvent : public ISyncObject
20 {
21 public:
22  //named
23  WinEvent ( const char* name , WinEventResetMode_t = g_auto_reset , NamedSyncObjectCreationOptions_t aCreationOptions = g_create_always );
24  //anonimous
25  WinEvent ( WinEventResetMode_t = g_auto_reset );
26  virtual ~WinEvent( );
27 
28  // Wait until synchronisation occurs
29  virtual bool wait ( GTimeoutSec_t aTimeOutSec );
30  virtual void wait ( );
31  virtual bool tryWait ( );
32  virtual void set ( );
33  virtual void reset ( );
34 
35  WinEventResetMode_t getResetMode ( ) const { return mResetMode; }
36 
37 private:
38  WinEventResetMode_t mResetMode;
39 };
40 
41 }//namespace mthread
42 }//namespace g
43 
44 #endif
Definition: g.mthread.ThreadSimpleEvent.h:5