Taxonomy Categories:
Member Functions:
Interface Category:
API.
Inherits From:
None.
Inherited By:
MDelegatingNotifier
MRemoteCallerNotifier
MRemoteDispatcherNotifier
TAsynchronousNotifier
TNotifier
Purpose:
A mix-in class that provides the abstract protocol for accepting connections in other instances which have expressed an interest in receiving notifications, and for distributing notifications to the interested receivers. MNotifier provides no implementation.
Instantiation:
Always allocate on the heap.
Deriving Classes:
MNotifier is an abstract class. Derived classes need to provide a full implementation of MNotifier. The following pure virtual member functions must be overridden:
- HasConnectionFor
- Notify
- BeginNotification
- EndNotification
- IsBatching
- AddConnectionInterest
- RemoveConnectionInterest
Concurrency:
Multithread safe.
Resource Use:
No special requirements.
virtual ~ MNotifier ()
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: MNotifier::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:
- const TInterest & -The interest to test connection for.
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: MNotifier::Notify
- virtual void Notify (const TNotification &)
- virtual void Notify (const TNotification &, const TInterest &)
- virtual void Notify (const TNotification &, const TCollectionOf < TInterest > &)
Interface Category:
API.
Purpose:
- Distributes the notification to all connections that match the interest given in the notification.
- 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.
- Distributes the notification to all connections which have an interest that matches anyone of the collections of interests.
Calling Context:
- Call this function directly.
- Call this function directly.
- Call this function directly.
Parameters:
- const TNotification & -The notification to distribute.
- const TNotification & -The notification to distribute.
- const TInterest & -The interest used to match the connections that will get the distributed notification.
- const TNotification & -The notification to distribute.
- const TCollectionOf < TInterest > & -The collection of interests that will be used to match the connections that will get the distributed notification.
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
Member Function: MNotifier::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: MNotifier::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: MNotifier::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: MNotifier::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:
- TNotifierConnection * -The notifier connection that will receive the notifications.
- const TInterest & -The interest that indicates what notifications to send.
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Multithread safe.
Other Considerations:
None.
Member Function: MNotifier::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.
MNotifier ()
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.
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.