1 //
2 // EventClass.h: header file
3 //
4 // Copyright (C) Walter E. Capers.  All rights reserved
5 //
6 // This source is free to use as you like.  If you make
7 // any changes please keep me in the loop.  Email them to
8 // walt.capers@comcast.net.
9 //
10 // PURPOSE:
11 //
12 //  To implement event signals as a C++ object
13 //
14 // REVISIONS
15 // =======================================================
16 // Date: 10.25.07
17 // Name: Walter E. Capers
18 // Description: File creation
19 //
20 // Date:
21 // Name:
22 // Description:
23 //
24 //
25 #ifndef EVENT_CLASS
26 #define EVENT_CLASS
27 
28 class CEventClass
29 {
30 private:
31 	ThreadId_t m_owner;
32 #ifdef WINDOWS
33 	HANDLE m_event;
34 #else
35 	pthread_cond_t m_ready;
36 	pthread_mutex_t m_lock;
37 #endif
38 public:
39     BOOL e_timeout;
40 	BOOL m_bCreated;
41 	void Set();
42 	BOOL Wait(DWORD tmout =0);
43 	void Reset();
44 	CEventClass(void);
45 	~CEventClass(void);
46 };
47 
48 #endif
49 
50