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.

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.

References eh_.

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.

References eh_.

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

References mask_.

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 62 of file Notification_Strategy.h.

Referenced by event_handler().

ACE_Reactor_Mask ACE_Notification_Strategy::mask_ [protected]

The reactor mask.

Definition at line 65 of file Notification_Strategy.h.

Referenced by mask().


The documentation for this class was generated from the following files:
Generated on Tue Feb 2 17:35:24 2010 for ACE by  doxygen 1.4.7