3 //==========================================================================
7 * $Id: Manual_Event.h 80826 2008-03-04 14:51:23Z wotte $
11 * @author Douglas C. Schmidt <schmidt@cs.wustl.edu>
13 //==========================================================================
15 #ifndef ACE_MANUAL_EVENT_H
16 #define ACE_MANUAL_EVENT_H
17 #include /**/ "ace/pre.h"
19 #include /**/ "ace/ACE_export.h"
21 #if !defined (ACE_LACKS_PRAGMA_ONCE)
23 #endif /* ACE_LACKS_PRAGMA_ONCE */
25 #include "ace/Event.h"
27 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
30 * @class ACE_Manual_Event
32 * @brief Manual Events.
34 * Specialization of Event mechanism which wakes up all waiting
35 * thread on <signal>. All platforms support process-scope locking
36 * support. However, only Win32 platforms support global naming and
37 * system-scope locking support.
39 class ACE_Export ACE_Manual_Event
: public ACE_Event
42 /// constructor which will create manual event
43 ACE_Manual_Event (int initial_state
= 0,
44 int type
= USYNC_THREAD
,
48 #if defined (ACE_HAS_WCHAR)
49 /// constructor which will create manual event (wchar_t version)
50 ACE_Manual_Event (int initial_state
,
54 #endif /* ACE_HAS_WCHAR */
57 ~ACE_Manual_Event (void);
59 /// Dump the state of an object.
60 void dump (void) const;
62 /// Declare the dynamic allocation hooks
63 ACE_ALLOC_HOOK_DECLARE
;
66 ACE_END_VERSIONED_NAMESPACE_DECL
68 #if defined (__ACE_INLINE__)
69 #include "ace/Manual_Event.inl"
70 #endif /* __ACE_INLINE__ */
73 #include /**/ "ace/post.h"
74 #endif /* ACE_MANUAL_EVENT_H */