Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class 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:

[legend]
Collaboration diagram for ACE_Msg_WFMO_Reactor:

[legend]
List of all members.

## Public Member Functions
| ACE_Msg_WFMO_Reactor (ACE_Sig_Handler *=0, ACE_Timer_Queue *=0)
| Initialize <ace_msg_wfmo_reactor> 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 Member Functions
virtual DWORD | wait_for_multiple_events (int timeout, int alertable)
| Wait for timer and I/O events to occur.
virtual DWORD | poll_remaining_handles (DWORD 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 <ace_wfmo_reactor> 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_BEGIN_VERSIONED_NAMESPACE_DECL ACE_Msg_WFMO_Reactor::ACE_Msg_WFMO_Reactor | ( | ACE_Sig_Handler * | = `0`,
|  | ACE_Timer_Queue * | = `0`
| ) |

| Initialize <ace_msg_wfmo_reactor> with the default size.

ACE_Msg_WFMO_Reactor::ACE_Msg_WFMO_Reactor | ( | size_t | size,
|  | int | unused = `0`,
|  | ACE_Sig_Handler * | = `0`,
|  | ACE_Timer_Queue * | = `0`
| ) |

| Initialize <ace_msg_wfmo_reactor> 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.

virtual 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.

virtual 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 ACE_Event_Handlers that were dispatched, 0 if the <max_wait_time> elapsed without dispatching any handlers, or -1 if an error occurs. The only difference between <alertable_handle_events> 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 | ( | DWORD | index | ) | `[protected, virtual]`

| Check for activity on remaining handles. Reimplemented from ACE_WFMO_Reactor.

DWORD 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:

- Msg_WFMO_Reactor.h
- Msg_WFMO_Reactor.cpp