Class: MRemoteDispatcherNotifier

Declaration: RemoteNotification.h

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.

Member Function: MRemoteDispatcherNotifier::MRemoteDispatcherNotifier

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.

Member Function: MRemoteDispatcherNotifier::~MRemoteDispatcherNotifier

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.

Member Function: MRemoteDispatcherNotifier::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:

Not multithread safe.

Other Considerations:

None.

Member Function: MRemoteDispatcherNotifier::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 to 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:

Not multithread safe.

Other Considerations:

None.

Member Function: MRemoteDispatcherNotifier::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:

Not multithread safe.

Other Considerations:

None.

Member Function: MRemoteDispatcherNotifier::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:

Not multithread safe.

Other Considerations:

None.

Member Function: MRemoteDispatcherNotifier::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:

Not multithread safe.

Other Considerations:

None.

Member Function: MRemoteDispatcherNotifier::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:

Not multithread safe.

Other Considerations:

None.

Member Function: MRemoteDispatcherNotifier::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:

Not multithread safe.

Other Considerations:

None.

Member Function: MRemoteDispatcherNotifier::RemoveRemoteInterest

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:

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.

Member Function: MRemoteDispatcherNotifier::AddRemoteInterest

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:

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.