Class: TTelephoneLineFeatureControl

Declaration: TelephonyClasses.h

Taxonomy Categories:

Member Functions:


Interface Category:

API.

Inherits From:

MCollectible

Inherited By:

TTelephoneConferenceFeatureControl TTelephoneDropFeatureControl TTelephoneForwardFeatureControl TTelephoneHoldFeatureControl TTelephoneTransferFeatureControl

Purpose:

This abstract base class is the standard hardware-independent surrogate for a telephone line feature. It provides client access to advanced telephony features such as hold, transfer, conference, and forward. TTelephoneLineFeatureControl defines a standard interface for accessing telephony features. Derived classes can provide additional interface protocol appropriate to a specific feature. TTelephoneLineFeatureControl also provides standard TTypeDescriptions for identifying common features.

Instantiation:

Allocate on the heap or the stack.

Deriving Classes:

Standard derived classes are provided for the five most common telephony features. New feature derived classes must override the pure virtual member function GetFeatureType. They must also provide a public interface for activating and deactivating the feature. A default implementation has been provided for sending activate and deactivate messages to the feature itself via the Telephony Framework.

Concurrency:

Multithread safe. Not intended to be shared across address spaces.

Resource Use:

This class depends on the existence of the telephone line handle that created it. Attempting to access one of these objects after the demise of its parent line handle might result in an exception being thrown.

Member Function: TTelephoneLineFeatureControl::GetHoldFeatureType

static const void GetHoldFeatureType (TTypeDescription &)

Interface Category:

API.

Purpose:

Provides the standard hold feature type description.

Calling Context:

Call directly to obtain the standard feature description. Used by the feature control and feature derived classes.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe. Not intended to be shared across address spaces.

Other Considerations:

None.

Member Function: TTelephoneLineFeatureControl::GetDropFeatureType

static const void GetDropFeatureType (TTypeDescription &)

Interface Category:

API.

Purpose:

Provides the standard drop feature type description.

Calling Context:

Call directly to obtain the standard feature description. Used by the feature control and feature derived classes.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe. Not intended to be shared across address spaces.

Other Considerations:

None.

Member Function: TTelephoneLineFeatureControl::GetTransferFeatureType

static const void GetTransferFeatureType (TTypeDescription &)

Interface Category:

API.

Purpose:

Provides the standard transfer feature type description.

Calling Context:

Call directly to obtain the standard feature description. Used by the feature control and feature derived classes.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe. Not intended to be shared across address spaces.

Other Considerations:

None.

Member Function: TTelephoneLineFeatureControl::GetConferenceFeatureType

static const void GetConferenceFeatureType (TTypeDescription &)

Interface Category:

API.

Purpose:

Provides the standard conference feature type description.

Calling Context:

Call directly to obtain the standard feature description. Used by the feature control and feature derived classes.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe. Not intended to be shared across address spaces.

Other Considerations:

None.

Member Function: TTelephoneLineFeatureControl::GetForwardFeatureType

static const void GetForwardFeatureType (TTypeDescription &)

Interface Category:

API.

Purpose:

Provides the standard forward feature type description.

Calling Context:

Call directly to obtain the standard feature description. Used by the feature control and feature derived classes.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe. Not intended to be shared across address spaces.

Other Considerations:

None.

Member Function: TTelephoneLineFeatureControl::~TTelephoneLineFeatureControl

virtual ~ TTelephoneLineFeatureControl ()

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. Not intended to be shared across address spaces.

Other Considerations:

Attempting to access one of these objects after the demise of its parent line handle results in an exception being thrown.

Member Function: TTelephoneLineFeatureControl::GetFeatureType

virtual void GetFeatureType (TTypeDescription &) const

Interface Category:

API.

Purpose:

Must be overridden to provide the feature control's type description using the static type information for the derived class. For example, for TNewFeature, call SetType on the TTypeDescription parameter and pass in TType(static_type_info(TNewFeature)).

Calling Context:

Call directly to identify the type of feature for which this control is intended.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe. Not intended to be shared across address spaces.

Other Considerations:

Pure virtual member function.

Member Function: TTelephoneLineFeatureControl::GetStatus

virtual TToken GetStatus () const

Interface Category:

API.

Purpose:

Returns the current feature status.

Calling Context:

Call directly to monitor the progress of the feature.

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. Not intended to be shared across address spaces.

Other Considerations:

None.

Member Function: TTelephoneLineFeatureControl::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. Not intended to be shared across address spaces.

Other Considerations:

None.

Member Function: TTelephoneLineFeatureControl::operator<<=

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

Interface Category:

API.

Purpose:

Stream-in operator.

Calling Context:

Called by a line handle to stream in feature controls from a line.

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. Not intended to be shared across address spaces.

Other Considerations:

None.

Member Function: TTelephoneLineFeatureControl::operator>>=

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

Interface Category:

API.

Purpose:

Stream-out operator.

Calling Context:

Called by a line to stream out feature controls to a line handle.

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. Not intended to be shared across address spaces.

Other Considerations:

None.

Member Function: TTelephoneLineFeatureControl::TTelephoneLineFeatureControl

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

Interface Category:

API.

Purpose:

  1. Constructs a control for the specified feature instance. Its use is restricted to feature derived classes.
  2. Copy constructor. Its use is restricted to friends and derived classes.
  3. Default constructor. Its use is restricted to friends and derived classes.

Calling Context:

  1. Called by feature derived classes to construct an object.
  2. Only for internal use by Copy. Developers should treat as protected.
  3. Only for internal use by Resurrect. Developers should treat as protected.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe. Not intended to be shared across address spaces.

Other Considerations:

None.

Member Function: TTelephoneLineFeatureControl::operator=

TTelephoneLineFeatureControl & operator =(const TTelephoneLineFeatureControl &)

Interface Category:

API.

Purpose:

Assignment operator.

Calling Context:

Called when an object is assigned to another compatible object. Its use is restricted to friends and derived classes.

Parameters:

Return Value:

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

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe. Not intended to be shared across address spaces.

Other Considerations:

None.

Member Function: TTelephoneLineFeatureControl::Activate

virtual void Activate ()

Interface Category:

API.

Purpose:

Activates the feature.

Calling Context:

Called by derived classes to generate the activate request.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe. Not intended to be shared across address spaces.

Other Considerations:

None.

Member Function: TTelephoneLineFeatureControl::Deactivate

virtual void Deactivate ()

Interface Category:

API.

Purpose:

Deactivates the feature.

Calling Context:

Called by derived classes to generate the deactivate request.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Multithread safe. Not intended to be shared across address spaces.

Other Considerations:

None.

Member Function: TTelephoneLineFeatureControl::GetLineHandle

TTelephoneLineHandle * GetLineHandle () const

Interface Category:

API.

Purpose:

Returns a pointer to the line handle that created the feature control.

Calling Context:

Called by derived classes to access line handle functions.

Parameters:

Return Value:

A pointer to the associated line handle.

Exceptions:

Throws TTelephonyException if the line handle is unspecified or has been deleted.

Concurrency:

Multithread safe. Not intended to be shared across address spaces.

Other Considerations:

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