Class: TTelephoneLineFeature

Declaration: TelephoneLine.h

Taxonomy Categories:

Member Functions:


Interface Category:

API.

Inherits From:

MRemoteDispatcher

Inherited By:

TTelephoneConferenceFeature TTelephoneDropFeature TTelephoneForwardFeature TTelephoneHoldFeature TTelephoneTransferFeature

Purpose:

Permits extension of basic telephone line functionality to accommodate advanced telephony features such as hold, transfer, conference, and forward. TTelephoneLineFeature defines a standard interface for accessing telephony features. Features are identified by means of TTypeDescriptions. Rather than instantiating TTelephoneLineFeature derived classes directly, Application Frameworks clients request telephony services via an intermediate handle object, TTelephoneLineFeatureControl.

Instantiation:

Allocate on the heap or the stack. Typically allocated on the heap by the telephone line derived classes.

Deriving Classes:

Standard derived classes are provided for the five most common telephony features. These derived classes have preassigned feature names and know how to create the standard feature control objects for their type (for example, TTelephoneHoldFeature creates a TTelephoneHoldFeatureControl), but they provide no activation or deactivation implementation. New derived classes are required for additional features beyond the five listed above. Derived classes must override the pure virtual functions GetFeatureType and CreateFeatureControl and must provide concrete hardware-specific implementations of the pure virtual functions Activate and Deactivate.

Concurrency:

Multithread safe.

Resource Use:

No special requirements.

Member Function: TTelephoneLineFeature::~TTelephoneLineFeature

virtual ~ TTelephoneLineFeature ()

Interface Category:

API.

Purpose:

Destructor.

Calling Context:

Called to destroy an object. Called automatically by the Telephony Framework when a feature is no longer needed.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TTelephoneLineFeature::GetFeatureType

virtual void GetFeatureType (TTypeDescription &) const

Interface Category:

API.

Purpose:

Must be overridden to provide the feature's type description.

Calling Context:

Called by a telephone line to identify the feature.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

Pure virtual member function.

Member Function: TTelephoneLineFeature::UpdateStatus

virtual TToken UpdateStatus () const

Interface Category:

API.

Purpose:

Returns the current feature status.

Calling Context:

Called via the remote dispatcher mechanism in response to the client's request for a status update.

Parameters:

Return Value:

Returns a TToken containing the current feature status value. (Potential values are defined in the class TTelephoneStatusNotification.)

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TTelephoneLineFeature::CreateFeatureControl

virtual TTelephoneLineFeatureControl * CreateFeatureControl () const

Interface Category:

API.

Purpose:

Must be overridden to create the control object which gives the client access to a feature derived class.

Calling Context:

Called by a telephone line in response to a remote caller request.

Parameters:

Return Value:

Returns a pointer to the new control object.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

Pure virtual member function. The caller must assume responsibility for the storage referenced by the pointer returned.

Member Function: TTelephoneLineFeature::Hash

virtual long Hash () const

Interface Category:

API.

Purpose:

Generates a hash value.

Calling Context:

Called by the collection classes to generate a hash value.

Parameters:

Return Value:

The numeric value of the hash.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TTelephoneLineFeature::operator<<=

virtual TStream & operator <<= (TStream & fromWhere)

Interface Category:

API.

Purpose:

Stream-in operator.

Calling Context:

Called by a telephone line to stream in data.

Parameters:

Return Value:

Returns a reference to the stream the object streams itself in from.

Exceptions:

Throws TInvalidVersionError if the versions don't match.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TTelephoneLineFeature::operator>>=

virtual TStream & operator >>=(TStream & toWhere) const

Interface Category:

API.

Purpose:

Stream-out operator.

Calling Context:

Called by a telephone line to stream out data.

Parameters:

Return Value:

Returns a reference to the stream the object streams itself out to.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TTelephoneLineFeature::TTelephoneLineFeature

  1. TTelephoneLineFeature ()
  2. TTelephoneLineFeature (const TTelephoneLineFeature &)

Interface Category:

API.

Purpose:

  1. Default constructor. Initialized in a deactivated state.
  2. Copy constructor.

Calling Context:

  1. Called by a telephone line via derived class constructors.
  2. Called by a telephone line via derived class copy constructors.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TTelephoneLineFeature::operator=

TTelephoneLineFeature & operator =(const TTelephoneLineFeature &)

Interface Category:

API.

Purpose:

Assignment operator.

Calling Context:

Called when an object is assigned to another compatible object.

Parameters:

Return Value:

A non-const reference to the left-hand side object.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

None.

Member Function: TTelephoneLineFeature::Activate

virtual void Activate ()

Interface Category:

API.

Purpose:

Must be overridden to do whatever is required by the specific telephony hardware to activate the feature derived class.

Calling Context:

Called via the remote dispatcher mechanism in response to the client's request to activate the feature.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

Pure virtual member function.

Member Function: TTelephoneLineFeature::Deactivate

virtual void Deactivate ()

Interface Category:

API.

Purpose:

Must be overridden to do whatever is required by the specific telephony hardware to deactivate the feature derived class.

Calling Context:

Called via the remote dispatcher mechanism in response to the client's request to deactivate the feature.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe.

Other Considerations:

Pure virtual member function.
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.