Class: TNotifier

Declaration: Notification.h

Taxonomy Categories:

Member Functions:


Interface Category:

API.

Inherits From:

MNotifier

Inherited By:

None.

Purpose:

A concrete implementation of the protocol specified by the MNotifier class. It uses a dictionary implementation.

Instantiation:

Always allocate on the heap.

Deriving Classes:

This class is a concrete instance of a notifier, and is not usually derived.

Concurrency:

Multithread safe.

Resource Use:

No special requirements.

Member Function: TNotifier::TNotifier

TNotifier ()

Interface Category:

API.

Purpose:

Default constructor.

Calling Context:

Called by the stream-in operators and directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TNotifier::~TNotifier

virtual ~ TNotifier ()

Interface Category:

API.

Purpose:

Destructor.

Calling Context:

Called to destroy an object. Call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TNotifier::HasConnectionFor

virtual bool HasConnectionFor (const TInterest &) const

Interface Category:

API.

Purpose:

A selector used to tell if any receiver has expressed desire in getting notifications for the given interest.

Calling Context:

Call this function directly.

Parameters:

Return Value:

Returns true if there is at least one connection with the given interest.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TNotifier::Notify

  1. virtual void Notify (const TNotification &)
  2. virtual void Notify (const TNotification &, const TInterest &)
  3. virtual void Notify (const TNotification &, const TCollectionOf < TInterest > &)

Interface Category:

API.

Purpose:

  1. Distributes the notification to all connections that match the interest given in the notification.
  2. Distributes the notification to all connections that match the interest specified as the second parameter. The receiver can of course receive a notification having an interest that is different than the interest used to make the connection. This is the case with interests like all-changes-interest. Such a receiver expects to get notifications for specific occurrences all sent to its all-changes-interest connection.
  3. Distributes the notification to all connections which have an interest that matches anyone of the collections of interests.

Calling Context:

  1. Call this function directly.
  2. Call this function directly.
  3. Call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TNotifier::BeginNotification

virtual void BeginNotification ()

Interface Category:

API.

Purpose:

For efficiency reasons, notifiers might decide to batch up a set of notifications. The notifications will not be distributed until after the EndNotification call is made.

Calling Context:

Call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TNotifier::EndNotification

virtual void EndNotification ()

Interface Category:

API.

Purpose:

For efficiency reasons, notifiers might decide to batch up a set of notifications. The notifications will not be distributed until after the EndNotification call is made.

Calling Context:

Call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TNotifier::IsBatching

virtual bool IsBatching () const

Interface Category:

API.

Purpose:

This selector indicates whether the notifier is in notification distribution batch mode.

Calling Context:

Call this function directly.

Parameters:

Return Value:

Returns true if the notifier is batching up a group of notifications to distribute.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TNotifier::AddConnectionInterest

virtual void AddConnectionInterest (TNotifierConnection *, const TInterest &)

Interface Category:

API.

Purpose:

A notifier connection tells the notifier what notifications that it is interested in using the Add Connection Interest member function.

Calling Context:

Call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TNotifier::RemoveConnectionInterest

virtual void RemoveConnectionInterest (const TNotifierConnection &, const TInterest &)

Interface Category:

API.

Purpose:

A notifier connection tells the notifier that it is no longer interested in getting notifications by removing the interests.

Calling Context:

Call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.