00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __JackWinProcessSync__
00021 #define __JackWinProcessSync__
00022
00023 #include "JackWinMutex.h"
00024
00025 namespace Jack
00026 {
00027
00032 class JackWinProcessSync : public JackWinMutex
00033 {
00034
00035 private:
00036
00037 HANDLE fEvent;
00038
00039 public:
00040
00041 JackWinProcessSync():JackWinMutex()
00042 {
00043 fEvent = (HANDLE)CreateEvent(NULL, FALSE, FALSE, NULL);
00044 }
00045 ~JackWinProcessSync()
00046 {
00047 CloseHandle(fEvent);
00048 }
00049
00050 bool TimedWait(long usec);
00051 bool LockedTimedWait(long usec);
00052
00053 void Wait();
00054 void LockedWait();
00055
00056 void Signal();
00057 void LockedSignal();
00058
00059 void SignalAll();
00060 void LockedSignalAll();
00061 };
00062
00063 }
00064
00065 #endif
00066