Microsoft Chat Server Development Guide

Chat Server Events

All actions performed within the chat server are exposed as events. Server, channel, and user events have analogous extension callback interfaces, IChatServerCallBack, IChatChannelCallBack, and IChatUserCallBack. When an event fires, the extension is notified through the methods of these callback interfaces. In addition to the IChatExtensionCallBack interface, which is required for all chat server extensions, the extension must implement the appropriate callback interface for the events it registers.

When an extension component is selected for installation, the server invokes the extension's IChatExtensionCallBack::OnInstall method. Then it invokes IChatExtensionCallBack::Init, where the extension can perform its first event bindings.

Before it can receive event notifications, the extension must "bind" to events using the IChatRegistrar interface. This component enables extensions to register themselves with the chat server event manager for bindings against chat server, channel, and user events. Bindings can be performed at any time, but are usually created in response to a specific event. For example, an extension might register for notification of channel creation events. When a specific channel is created, the extension could then add further bindings for channel events within that channel. For more information, see Event Binding.

The following diagram shows the relationship between the components and interfaces that are defined within the chat server extensibility model.

Chat Server Extensibility Event Model


© 1998 Microsoft Corporation. All rights reserved.