summaryrefslogtreecommitdiff
path: root/ACE/ace/Event.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/ace/Event.cpp')
-rw-r--r--ACE/ace/Event.cpp81
1 files changed, 66 insertions, 15 deletions
diff --git a/ACE/ace/Event.cpp b/ACE/ace/Event.cpp
index 95ed88c0968..80a37043983 100644
--- a/ACE/ace/Event.cpp
+++ b/ACE/ace/Event.cpp
@@ -7,36 +7,87 @@
#endif /* __ACE_INLINE__ */
#include "ace/Log_Msg.h"
-#include "ace/Condition_Attributes.h"
+
+
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
-template <class TIME_POLICY>
-ACE_Event_T<TIME_POLICY>::ACE_Event_T (int manual_reset,
- int initial_state,
- int type,
- const ACE_TCHAR *name,
- void *arg,
- LPSECURITY_ATTRIBUTES sa)
- : ACE_Event_Base ()
+ACE_Event::ACE_Event (int manual_reset,
+ int initial_state,
+ int type,
+ const ACE_TCHAR *name,
+ void *arg,
+ LPSECURITY_ATTRIBUTES sa)
+ : removed_ (false)
{
- ACE_Condition_Attributes_T<TIME_POLICY> cond_attr (type);
if (ACE_OS::event_init (&this->handle_,
- type,
- &const_cast<ACE_condattr_t&> (cond_attr.attributes ()),
manual_reset,
initial_state,
+ type,
name,
arg,
sa) != 0)
ACE_ERROR ((LM_ERROR,
ACE_TEXT ("%p\n"),
- ACE_TEXT ("ACE_Event_T<TIME_POLICY>::ACE_Event_T")));
+ ACE_TEXT ("ACE_Event::ACE_Event")));
+}
+
+ACE_Event::~ACE_Event (void)
+{
+ this->remove ();
+}
+
+int
+ACE_Event::remove (void)
+{
+ int result = 0;
+ if (!this->removed_)
+ {
+ this->removed_ = true;
+ result = ACE_OS::event_destroy (&this->handle_);
+ }
+ return result;
+}
+
+int
+ACE_Event::wait (void)
+{
+ return ACE_OS::event_wait (&this->handle_);
+}
+
+int
+ACE_Event::wait (const ACE_Time_Value *abstime, int use_absolute_time)
+{
+ return ACE_OS::event_timedwait (&this->handle_,
+ const_cast <ACE_Time_Value *> (abstime),
+ use_absolute_time);
+}
+
+int
+ACE_Event::signal (void)
+{
+ return ACE_OS::event_signal (&this->handle_);
+}
+
+int
+ACE_Event::pulse (void)
+{
+ return ACE_OS::event_pulse (&this->handle_);
+}
+
+int
+ACE_Event::reset (void)
+{
+ return ACE_OS::event_reset (&this->handle_);
}
-template <class TIME_POLICY>
-ACE_Event_T<TIME_POLICY>::~ACE_Event_T (void)
+void
+ACE_Event::dump (void) const
{
+#if defined (ACE_HAS_DUMP)
+ ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
+ ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
+#endif /* ACE_HAS_DUMP */
}
ACE_END_VERSIONED_NAMESPACE_DECL