
# INotificationHandler interface

The `INotificationHandler` interface handles notifications broadcasted in the Altium Designer system. The notifications could be a document loading notification, workspace being loaded, an object being navigated, and a server module being loaded.

```csharp
public interface INotificationHandler
```

**Namespace:** DXP · **Assembly:** Altium.SDK.Interfaces

## Remarks

Notifications as event messages can be broadcasted by the Client system, and any open server documents can receive them and act on them accordingly. The Broadcast Notification is a system wide notification, and the Dispatch Notification is a server specific notification.

To register a Notification handler in the server project (either in a server module object, panel view object or document view object)

1. When a object is created, the [`IClient.RegisterNotificationHandler`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IClient.md#registernotificationhandler) method is invoked.

2. When a object is destroyed, the [`IClient.UnregisterNotificationHandler`](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IClient.md#unregisternotificationhandler) method is invoked.

3. To handle custom notifications, a object has a HandlerNotification method which checks if the custom notification code is intercepted then a call can be made to update for example the Panel's preferences controls.

The `INotificationHandler` is inherited in the TServerModule, TServerDocumentForm and TServerPanelForm classes and thus custom notifications can be registered and handled.

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [HandleNotification](#handlenotification) | `void` |  |

### HandleNotification

*No description yet.*

```csharp
void HandleNotification(INotification argNotification);
void HandleNotification(object argNotification);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argNotification` | [INotification](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/INotification.md) | value |

**Returns:** nothing (`void`)

The first overload is an extension method of `INotificationHandlerHelper` (`using DXP;`) with typed parameters; the second is declared by the interface.

**See also:** [IClient](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IClient.md)

## Accepted by

[IClient.RegisterFilteredNotificationHandler](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IClient.md#registerfilterednotificationhandler), [IClient.RegisterNotificationHandler](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IClient.md#registernotificationhandler), [IClient.RegisterServerNotificationHandler](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IClient.md#registerservernotificationhandler), [IClient.UnregisterNotificationHandler](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IClient.md#unregisternotificationhandler), [IClient.UnregisterServerNotificationHandler](https://altiumdeveloper.github.io/ad-sdk-docs/reference/dxp/IClient.md#unregisterservernotificationhandler)
