# Library Foundation

# Package Notifications

## Overview

Classes: AbstractObserver, AsyncNotificationCenter, AsyncObserver, DataNotification, NObserver, Notification, NotificationCenter, NotificationQueue, Observer, PriorityNotificationQueue, TimedNotificationQueue

## Classes

### class AbstractObserver

The base class for all instantiations of the Observer and NObserver template classes.

### class AsyncNotificationCenter

AsyncNotificationCenter decouples posting of notifications from notifying subscribers by calling observers' notification handler in a dedicated thread.

### class AsyncObserver

AsyncObserver notifies subscribers in a dedicated thread (as opposed to (N)Observer classes, which notify subscribers synchronously).

### class DataNotification

DataNotification carries a topic and an associated payload of type T.

### class NObserver

This template class implements an adapter that sits between a NotificationCenter and an object receiving notifications from it.

### class Notification

The base class for all notification classes used with the NotificationCenter and the NotificationQueue classes.

### class NotificationCenter

A NotificationCenter is essentially a notification dispatcher.

### class NotificationQueue

A NotificationQueue object provides a way to implement asynchronous notifications.

### class Observer

This template class implements an adapter that sits between a NotificationCenter and an object receiving notifications from it.

### class PriorityNotificationQueue

A PriorityNotificationQueue object provides a way to implement asynchronous notifications.

### class TimedNotificationQueue

A TimedNotificationQueue object provides a way to implement timed, asynchronous notifications.