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