---
name: "ACE_Notification_Strategy"
section: "3"
platform: "linux"
package: "libace-doc"
version: "5.0.7-4"
release: "Debian 2.2 (Potato)"
platforms: ["linux"]
url: "https://new.carta.tech/ACE_Notification_Strategy"
---

# ACE\_Notification\_Strategy(3)

Abstract class used for notifing an interested party

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