# Poco

# template < class C, class N >

# class NObserver

Library: Foundation
Package: Notifications
Header: Poco/NObserver.h

## Description

This template class implements an adapter that sits between a NotificationCenter and an object receiving notifications from it. It is quite similar in concept to the RunnableAdapter, but provides some NotificationCenter specific additional methods. See the NotificationCenter class for information on how to use this template class.

This class template is quite similar to the Observer class template. The only difference is that the NObserver expects the callback function to accept a const AutoPtr& instead of a plain pointer as argument, thus simplifying memory management.

## Inheritance

Direct Base Classes: AbstractObserver

All Base Classes: AbstractObserver

## Member Summary

Member Functions: accepts, clone, disable, equals, notify, operator =

Inherited Functions: accepts, clone, disable, equals, notify, operator =

## Types

### NotificationPtr

typedef AutoPtr < N > NotificationPtr;

### void

typedef void (C::* Callback)(const NotificationPtr &);

## Constructors

### NObserver

NObserver(
const NObserver & observer
);

### NObserver

NObserver(
C & object,
Callback method
);

## Destructor

### ~NObserver

~NObserver();

## Member Functions

### accepts

bool accepts(
Notification * pNf,
const char * pName = 0
) const;

See also: Poco::AbstractObserver::accepts()

### clone

AbstractObserver * clone() const;

See also: Poco::AbstractObserver::clone()

### disable

void disable();

See also: Poco::AbstractObserver::disable()

### equals

bool equals(
const AbstractObserver & abstractObserver
) const;

See also: Poco::AbstractObserver::equals()

### notify

void notify(
Notification * pNf
) const;

See also: Poco::AbstractObserver::notify()

### operator =

NObserver & operator = (
const NObserver & observer
);