Taxonomy Categories:
Member Functions:
Interface Category:
API.
Inherits From:
MNotifier
Inherited By:
None.
Purpose:
Mixed into objects that need to generate notifications for client receivers that are in another process.
Instantiation:
Always allocate on the heap.
Deriving Classes:
Derived classes of this class must also inherit from MRemoteDispatcher. Derived class must register for the kAddRemoteInterest and kRemoveRemoteInterest requests, and delegate those requests to AddRemoteInterest(TStream&, TStream&) and RemoveRemoteInterest(TStream&, TStream&) respectively.
Concurrency:
Not multithread safe.
Resource Use:
No special requirements.
MRemoteDispatcherNotifier ()
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:
Not multithread safe.
Other Considerations:
None.
virtual ~ MRemoteDispatcherNotifier ()
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:
Not multithread safe.
Other Considerations:
None.
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:
Not multithread safe.
Other Considerations:
None.
- 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 to 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:
Not multithread safe.
Other Considerations:
None.
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:
Not multithread safe.
Other Considerations:
None.
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:
Not multithread safe.
Other Considerations:
None.
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:
Not multithread safe.
Other Considerations:
None.
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:
Not multithread safe.
Other Considerations:
None.
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:
Not multithread safe.
Other Considerations:
None.
virtual void RemoveRemoteInterest (TStream & theArguments, TStream & theResults)
Interface Category:
API.
Purpose:
Handles the RemoveRemoteInterest dispatcher function.
Calling Context:
Must be called by derived classes to handle the kRemoveRemoteInterest dispatcher request.
Parameters:
- TStream & theArguments -The dispatcher argument stream.
- TStream & theResults -The dispatcher result stream.
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Not multithread safe.
Other Considerations:
Derived classes must register to handle MRemoteCallerNotifier::kRemoveRemoteInterest and delegate the handling to this member function.
virtual void AddRemoteInterest (TStream & theArguments, TStream & theResults)
Interface Category:
API.
Purpose:
Handles the AddRemoveInterest dispatcher request.
Calling Context:
Must be called by derived classes to handle the kAddRemoteInterest dispatcher request.
Parameters:
- TStream & theArguments -The dispatcher argument stream.
- TStream & theResults -The dispatcher result stream.
Return Value:
None.
Exceptions:
Throws no exceptions, passes all exceptions through.
Concurrency:
Not multithread safe.
Other Considerations:
Derived classes must register to handle MRemoteCallerNotifier::kAddRemoteInterest and delegate the handling to this member function.
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.