ACE_Notification_Strategy Class Reference

Abstract class used for notifying an interested party. More...

#include <Notification_Strategy.h>

Inheritance diagram for ACE_Notification_Strategy:

Inheritance graph
[legend]
Collaboration diagram for ACE_Notification_Strategy:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 ACE_Notification_Strategy (ACE_Event_Handler *eh, ACE_Reactor_Mask mask)
 Constructor.

virtual ~ACE_Notification_Strategy (void)
 Destructor.

virtual int notify (void)=0
virtual int notify (ACE_Event_Handler *, ACE_Reactor_Mask mask)=0
ACE_Event_Handlerevent_handler (void)
 Get the event handler.

void event_handler (ACE_Event_Handler *eh)
 Set the event handler.

ACE_Reactor_Mask mask (void) const
 Get the reactor mask.

void mask (ACE_Reactor_Mask m)
 Set the reactor mask.


Protected Attributes

ACE_Event_Handlereh_
 The event handler.

ACE_Reactor_Mask mask_
 The reactor mask.


Detailed Description

Abstract class used for notifying an interested party.

A vehicle for extending the behavior of ACE_Message_Queue wrt notification *without subclassing*. Thus, it's an example of the Bridge/Strategy patterns.

Definition at line 36 of file Notification_Strategy.h.


Constructor & Destructor Documentation

ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_Notification_Strategy::ACE_Notification_Strategy ACE_Event_Handler eh,
ACE_Reactor_Mask  mask
 

Constructor.

Definition at line 11 of file Notification_Strategy.cpp.

References ACE_Reactor_Mask.

00013   : eh_ (eh),
00014     mask_ (mask)
00015 {
00016 }

ACE_Notification_Strategy::~ACE_Notification_Strategy void   )  [virtual]
 

Destructor.

Definition at line 18 of file Notification_Strategy.cpp.

00019 {
00020 }


Member Function Documentation

ACE_INLINE void ACE_Notification_Strategy::event_handler ACE_Event_Handler eh  ) 
 

Set the event handler.

Definition at line 14 of file Notification_Strategy.inl.

00015 {
00016   this->eh_ = eh;
00017 }

ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_INLINE ACE_Event_Handler * ACE_Notification_Strategy::event_handler void   ) 
 

Get the event handler.

Definition at line 8 of file Notification_Strategy.inl.

00009 {
00010   return eh_;
00011 }

ACE_INLINE void ACE_Notification_Strategy::mask ACE_Reactor_Mask  m  ) 
 

Set the reactor mask.

Definition at line 26 of file Notification_Strategy.inl.

References ACE_Reactor_Mask.

00027 {
00028   this->mask_ = m;
00029 }

ACE_INLINE ACE_Reactor_Mask ACE_Notification_Strategy::mask void   )  const
 

Get the reactor mask.

Definition at line 20 of file Notification_Strategy.inl.

00021 {
00022   return mask_;
00023 }

virtual int ACE_Notification_Strategy::notify ACE_Event_Handler ,
ACE_Reactor_Mask  mask
[pure virtual]
 

Implemented in ACE_Reactor_Notification_Strategy.

virtual int ACE_Notification_Strategy::notify void   )  [pure virtual]
 

Implemented in ACE_Reactor_Notification_Strategy.

Referenced by ACE_Message_Queue< ACE_SYNCH_USE >::notify().


Member Data Documentation

ACE_Event_Handler* ACE_Notification_Strategy::eh_ [protected]
 

The event handler.

Definition at line 64 of file Notification_Strategy.h.

ACE_Reactor_Mask ACE_Notification_Strategy::mask_ [protected]
 

The reactor mask.

Definition at line 67 of file Notification_Strategy.h.


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 11:25:52 2006 for ACE by doxygen 1.3.6