Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members   Related Pages  

ACE_Msg_WFMO_Reactor Class Reference

An OO event demultiplexor and event handler dispatcher for Win32 <MsgWaitForMultipleObjects>. More...

#include <Msg_WFMO_Reactor.h>

Inheritance diagram for ACE_Msg_WFMO_Reactor

Inheritance graph
[legend]
Collaboration diagram for ACE_Msg_WFMO_Reactor:

Collaboration graph
[legend]
List of all members.

Public Methods

 ACE_Msg_WFMO_Reactor (ACE_Sig_Handler * = 0, ACE_Timer_Queue * = 0)
 Initialize with the default size.

 ACE_Msg_WFMO_Reactor (size_t size, int unused = 0, ACE_Sig_Handler * = 0, ACE_Timer_Queue * = 0)
virtual ~ACE_Msg_WFMO_Reactor (void)
 Close down the ACE_Msg_WFMO_Reactor and release all of its resources.

virtual int handle_events (ACE_Time_Value *max_wait_time = 0)
virtual int alertable_handle_events (ACE_Time_Value *max_wait_time = 0)
virtual int handle_events (ACE_Time_Value &max_wait_time)
virtual int alertable_handle_events (ACE_Time_Value &max_wait_time)

Protected Methods

virtual int wait_for_multiple_events (int timeout, int alertable)
 Wait for timer and I/O events to occur.

virtual DWORD poll_remaining_handles (size_t index)
 Check for activity on remaining handles.

virtual int dispatch_window_messages (void)
 Dispatches window messages.


Detailed Description

An OO event demultiplexor and event handler dispatcher for Win32 <MsgWaitForMultipleObjects>.

The ACE_Msg_WFMO_Reactor is an OO event demultiplexor and event handler Reactor. It differs from by its ability to react on Windows messages. It is needed when the task should serve also as a COM/DCOM server.


Constructor & Destructor Documentation

ACE_Msg_WFMO_Reactor::ACE_Msg_WFMO_Reactor ( ACE_Sig_Handler * sh = 0,
ACE_Timer_Queue * tq = 0 ) [inline]
 

Initialize with the default size.

ACE_Msg_WFMO_Reactor::ACE_Msg_WFMO_Reactor ( size_t size,
int unused = 0,
ACE_Sig_Handler * sh = 0,
ACE_Timer_Queue * tq = 0 )
 

Initialize with size <size>. Two slots will be added to the <size> parameter which will store handles used for internal management purposes.

ACE_Msg_WFMO_Reactor::~ACE_Msg_WFMO_Reactor ( void ) [virtual]
 

Close down the ACE_Msg_WFMO_Reactor and release all of its resources.


Member Function Documentation

virtual int ACE_Msg_WFMO_Reactor::alertable_handle_events ( ACE_Time_Value & max_wait_time ) [virtual]
 

Reimplemented from ACE_WFMO_Reactor.

virtual int ACE_Msg_WFMO_Reactor::alertable_handle_events ( ACE_Time_Value * max_wait_time = 0 ) [virtual]
 

Reimplemented from ACE_WFMO_Reactor.

int ACE_Msg_WFMO_Reactor::dispatch_window_messages ( void ) [protected, virtual]
 

Dispatches window messages.

Reimplemented from ACE_WFMO_Reactor.

int ACE_Msg_WFMO_Reactor::handle_events ( ACE_Time_Value & max_wait_time ) [virtual]
 

This method is just like the one above, except the <max_wait_time> value is a reference and can therefore never be NULL.

Reimplemented from ACE_WFMO_Reactor.

int ACE_Msg_WFMO_Reactor::handle_events ( ACE_Time_Value * max_wait_time = 0 ) [virtual]
 

This event loop driver blocks for up to <max_wait_time> before returning. It will return earlier if timer events, I/O events, window events, or signal events occur. Note that <max_wait_time> can be 0, in which case this method blocks indefinitely until events occur.

<max_wait_time> is decremented to reflect how much time this call took. For instance, if a time value of 3 seconds is passed to handle_events and an event occurs after 2 seconds, <max_wait_time> will equal 1 second. This can be used if an application wishes to handle events for some fixed amount of time.

<MsgWaitForMultipleObjects> is used as the demultiplexing call

Returns the total number of s that were dispatched, 0 if the <max_wait_time> elapsed without dispatching any handlers, or -1 if an error occurs.

The only difference between and <handle_events> is that in the alertable case, MWMO_ALERTABLE is passed to <MsgWaitForMultipleObjects> for the <bAlertable> option.

Reimplemented from ACE_WFMO_Reactor.

DWORD ACE_Msg_WFMO_Reactor::poll_remaining_handles ( size_t index ) [protected, virtual]
 

Check for activity on remaining handles.

Reimplemented from ACE_WFMO_Reactor.

int ACE_Msg_WFMO_Reactor::wait_for_multiple_events ( int timeout,
int alertable ) [protected, virtual]
 

Wait for timer and I/O events to occur.

Reimplemented from ACE_WFMO_Reactor.


The documentation for this class was generated from the following files:
Generated at Sat Dec 1 11:03:12 2001 for ACE by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000