Class: TRequestBasedMemberFunctionConnection

Declaration: Notification.h

Taxonomy Categories:

Member Functions:


Interface Category:

API.

Inherits From:

TNotifierConnection

Inherited By:

TRequestBasedMemberFunctionConnectionTo

Purpose:

This class is the base class for TRequestBasedMemberFunctionConnectionTo. Its only purpose is to provide implementation sharing for instances of TRequestBasedMemberFunctionConnectionTo. It should never be used directly by clients. Clients should always use TRequestBasedMemberFunctionConnectionTo.

Instantiation:

Never instantiated directly by clients.

Deriving Classes:

TRequestBasedMemberFunctionConnectionTo is the only derived class.

Concurrency:

Multithread safe.

Resource Use:

No special requirements.

Other Considerations:

None.

Member Function: TRequestBasedMemberFunctionConnection::TRequestBasedMemberFunctionConnection

  1. TRequestBasedMemberFunctionConnection (void * theReceiver, TRequestProcessor * processorToUse, TNotificationMemberFunction * notificationFunction, ENotTheDefaultFunction)
  2. TRequestBasedMemberFunctionConnection (void * theReceiver, TRequestProcessor * processorToUse, TNotificationMemberFunction * defaultFunction)
  3. TRequestBasedMemberFunctionConnection (void * theReceiver, TRequestProcessor * processorToUse, TNotificationMemberFunction * defaultFunction, const TInterest & theInterest)
  4. TRequestBasedMemberFunctionConnection (TNotificationMemberFunction * notificationFunction)

Interface Category:

API.

Purpose:

  1. Creates a new request based member function connection with no default notification member function pointer. The request processor is not adopted, it is aliased. The request process is used to serialize the notifications that a receiver object will get with other requests made against the object. Thus, the receiver object does not have to deal with concurrency issues.
  2. Creates a new request based member function with the specified member function to be used as the default notification handler. The request processor is not adopted, it is aliased. The request process is used to serialize the notifications that a receiver object will get with other requests made against the object. Thus, the receiver object does not have to deal with concurrency issues.
  3. Creates a new request based member function with the specified member function to be used as the default notification handler and the interest to be added as the initial interest. The request processor is not adopted, it is aliased. The request process is used to serialize the notifications that a receiver object will get with other requests made against the object. Thus, the receiver object does not have to deal with concurrency issues.
  4. Default constructor.

Calling Context:

  1. Called only by TMemberFunctionConnectionTo.
  2. Called only by TMemberFunctionConnectionTo.
  3. Called only by TMemberFunctionConnectionTo.
  4. Called only by TMemberFunctionConnectionTo.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TRequestBasedMemberFunctionConnection::~TRequestBasedMemberFunctionConnection

virtual ~ TRequestBasedMemberFunctionConnection ()

Interface Category:

API.

Purpose:

Destructor.

Calling Context:

Called to destroy an object.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TRequestBasedMemberFunctionConnection::SetRequestProcessor

void SetRequestProcessor (TRequestProcessor *)

Interface Category:

API.

Purpose:

Set the request processor to be used when calling notification member functions.

Calling Context:

You can call this function directly.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TRequestBasedMemberFunctionConnection::GetRequestProcessor

TRequestProcessor * GetRequestProcessor () const

Interface Category:

API.

Purpose:

Returns the request processor currently in use by this connection.

Calling Context:

You can call this function directly.

Parameters:

Return Value:

TRequestProcessor * -The request processor.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TRequestBasedMemberFunctionConnection::GetVoidReceiver

void * GetVoidReceiver () const

Interface Category:

API.

Purpose:

Returns the receiver as void*.

Calling Context:

Called only by TMemberFunctionConnectionTo.

Parameters:

Return Value:

void * -The receiver.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TRequestBasedMemberFunctionConnection::GetDefaultMemberFunctionImplementation

const TNotificationMemberFunction * GetDefaultMemberFunctionImplementation () const

Interface Category:

API.

Purpose:

Returns the default member function object.

Calling Context:

Called only by TMemberFunctionConnectionTo.

Parameters:

Return Value:

The default member function.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TRequestBasedMemberFunctionConnection::SetVoidReceiver

  1. void SetVoidReceiver (void * theReceiver)
  2. void SetVoidReceiver (void * theReceiver, TNotificationMemberFunction * defaultFunction)

Interface Category:

API.

Purpose:

  1. Sets the receiver as a void *.
  2. Sets the receiver and default function.

Calling Context:

  1. Called only by TMemberFunctionConnectionTo.
  2. Called only by TMemberFunctionConnectionTo.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TRequestBasedMemberFunctionConnection::RemoveAllInterests

virtual void RemoveAllInterests ()

Interface Category:

API.

Purpose:

Removes all of the connection's interests. If the connection is connected to the notifier, then it will no longer receive any notifications. However, it is still connected to the notifier and should be disconnected before being deleted.

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: TRequestBasedMemberFunctionConnection::RemoveInterest

virtual void RemoveInterest (const TInterest &)

Interface Category:

API.

Purpose:

Removes all the interests that match the passed-in interest. The connection will no longer get notifications that are associated with this interest.

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: TRequestBasedMemberFunctionConnection::Notify

virtual void Notify (const TNotification &, const TInterest &)

Interface Category:

API.

Purpose:

Called by the notifier to cause the connection to distribute the notification to the connection. The connection can then distribute the notification to its receiver object or a global receiver 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: TRequestBasedMemberFunctionConnection::Connect

virtual void Connect ()

Interface Category:

API.

Purpose:

Performs a connect on the notifier and registers all of the connection's own interests with the notifier. After this point, the receiver will begin to receive notifications that match its 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.

Member Function: TRequestBasedMemberFunctionConnection::Disconnect

virtual void Disconnect ()

Interface Category:

API.

Purpose:

Performs a disconnect from the notifier and removes all of the connection's own interests from the notifier's list of interests. The receiver will no longer be sent any new notifications.

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: TRequestBasedMemberFunctionConnection::AddInterestImplementation

  1. void AddInterestImplementation (const TInterest &)
  2. void AddInterestImplementation (const TInterest &, TNotificationMemberFunction *)

Interface Category:

API.

Purpose:

  1. Shared implementation of add interest.
  2. Shared implementation of add interest with specific member function.

Calling Context:

  1. Called only by TMemberFunctionConnectionTo.
  2. Called only by TMemberFunctionConnectionTo.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TRequestBasedMemberFunctionConnection::AdoptInterestImplementation

  1. void AdoptInterestImplementation (TInterest *)
  2. void AdoptInterestImplementation (TInterest *, TNotificationMemberFunction *)

Interface Category:

API.

Purpose:

  1. Shared implementation of add interest.
  2. Shared implementation of add interest with specific member function.

Calling Context:

  1. Called only by TMemberFunctionConnectionTo.
  2. Called only by TMemberFunctionConnectionTo.

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.