Class: MRemoteCallerNotifier

Declaration: RemoteNotification.h

Taxonomy Categories:

Member Functions:


Interface Category:

API.

Inherits From:

MNotifier

Inherited By:

TNotifyingDisplay TDocumentRegistry

Purpose:

A mixin implementation of the protocol specified by the MNotifier class for use with MRemoteCallers. Thus, it can be used to receive notifications from notifiers in another process.

Instantiation:

Always allocate on the heap.

Deriving Classes:

Derived classes of this mixin must also inherit from MRemoteCaller. A pointer that MRemoteCaller must be passed to the MRemoteCallerNotifier constructor. This mixin shares the transport with the MRemoteCaller.

Concurrency:

Not multithread safe.

Resource Use:

No special requirements.

Member Function: MRemoteCallerNotifier::MRemoteCallerNotifier

  1. MRemoteCallerNotifier (MRemoteCaller *)
  2. MRemoteCallerNotifier (MRemoteCaller *, const TText & dispatcherName)

Interface Category:

API.

Purpose:

  1. Creates a MRemoteCallerNotifier. The notifier uses the passed in remote caller to talk to the remote dispatcher notifier.
  2. Creates a MRemoteCallerNotifier. The notifier uses the passed in remote caller to talk to the remote dispatcher notifier. The dispatcherName is used rather then the name specific by the RemoteCallerDeclarationsMacro. This allows several MRemoteDispatcherNotifier classes of the same type to exist in the same address space. Each must be given a unique name to prevent dispatcher registration conflicts.

Calling Context:

  1. Called by derived classes to construct the notifier.
  2. Called by derived classes to construct the notifier.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: MRemoteCallerNotifier::~MRemoteCallerNotifier

virtual ~ MRemoteCallerNotifier ()

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: MRemoteCallerNotifier::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: MRemoteCallerNotifier::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:

  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.

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:

Not multithread safe.

Other Considerations:

None.

Member Function: MRemoteCallerNotifier::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: MRemoteCallerNotifier::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: MRemoteCallerNotifier::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: MRemoteCallerNotifier::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: MRemoteCallerNotifier::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.
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.