## NAME

ACE_Notification_Strategy - Abstract class used for notifing an interested party

## SYNOPSIS

    #include <ace/Strategies.h>

    class ACE_Notification_Strategy
    {
      public:
        ACE_Notification_Strategy (
            ACE_Event_Handler *eh,
            ACE_Reactor_Mask mask
            );
        virtual ~ACE_Notification_Strategy (void);
        virtual int notify (void) = 0;
        virtual int notify (
            ACE_Event_Handler *,
            ACE_Reactor_Mask mask
            ) = 0;
        ACE_Event_Handler *event_handler (void);
        void event_handler (ACE_Event_Handler *eh);
        ACE_Reactor_Mask mask (void);
        void mask (ACE_Reactor_Mask m);
      protected:
        ACE_Event_Handler *eh_;
        ACE_Reactor_Mask mask_;
    };

## DESCRIPTION

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

## PUBLIC MEMBERS

    ACE_Notification_Strategy (
        ACE_Event_Handler *eh,
        ACE_Reactor_Mask mask
        );

    virtual ~ACE_Notification_Strategy (void);

    virtual int notify (void) = 0;

    virtual int notify (ACE_Event_Handler *, ACE_Reactor_Mask mask) = 0;

    ACE_Event_Handler *event_handler (void);

    void event_handler (ACE_Event_Handler *eh);

    ACE_Reactor_Mask mask (void);

    void mask (ACE_Reactor_Mask m);

## PROTECTED MEMBERS

    ACE_Event_Handler *eh_;

    ACE_Reactor_Mask mask_;

## AUTHOR

Doug Schmidt

## LIBRARY

ace