Class: TThreadSchedule

Declaration: Scheduling.h

Taxonomy Categories:

Member Functions:


Interface Category:

API.

Inherits From:

MCollectible

Inherited By:

TApplicationSchedule TIdleSchedule TServerSchedule TSupportSchedule TUserInterfaceSchedule

Purpose:

An abstract base class for all scheduling classes; it can represent any arbitrary schedule.

Instantiation:

Allocate on the heap or the stack.

Deriving Classes:

None.

Concurrency:

Not multithread safe.

Resource Use:

No special requirements.

Member Function: TThreadSchedule::~TThreadSchedule

virtual ~ TThreadSchedule ()

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:

Not multithread safe.

Other Considerations:

None.

Member Function: TThreadSchedule::operator>>=

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

Interface Category:

API.

Purpose:

Stream-out operator.

Calling Context:

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

Not multithread safe.

Other Considerations:

None.

Member Function: TThreadSchedule::operator<<=

TStream & operator <<= (TStream & fromWhere)

Interface Category:

API.

Purpose:

Stream-in operator.

Calling Context:

Called to stream in data.

Parameters:

Return Value:

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

Exceptions:

Throws TInvalidVersionError if a version mismatch occurs.

Concurrency:

Not multithread safe.

Other Considerations:

None.

Member Function: TThreadSchedule::TThreadSchedule

  1. TThreadSchedule ()
  2. TThreadSchedule (const TThreadSchedule & aThreadSchedule)

Interface Category:

API.

Purpose:

  1. Default constructor.
  2. Copy constructor.

Calling Context:

  1. Called by the stream-in operators.
  2. Called to copy an object.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

This is a abstract base class.

Member Function: TThreadSchedule::operator=

TThreadSchedule & operator =(const TThreadSchedule & aThreadSchedule)

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:

Not multithread safe.

Other Considerations:

None.

Member Function: TThreadSchedule::CreateCorrectTypeThreadSchedule

static TThreadSchedule * CreateCorrectTypeThreadSchedule (const TThreadHandle & aThreadHandle)

Interface Category:

API.

Purpose:

Creates a correct derived class of TThreadSchedule pertaining to a thread represented by aThreadHandle.

Calling Context:

Called to acquire a schedule for some thread.

Parameters:

Return Value:

Returns a pointer to the newly created schedule object.

Exceptions:

Throws TUnknownSchedulingClassException::kUnknownSchedulingClass if the scheduling data for the thread in consideration doesn't belong to any of the CommonPoint-defined derived classes.

Concurrency:

Not multithread safe.

Other Considerations:

Storage space allocated should be deallocated by user.

Member Function: TThreadSchedule::GetPriority

virtual AbsolutePriority GetPriority () const

Interface Category:

API.

Purpose:

Gets the priority associated with this object.

Calling Context:

Pure virtual function.

Parameters:

Return Value:

The priority value.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

This pure virtual function has to be overridden by the derived classes. This function is for Taligent internal use only.

Member Function: TThreadSchedule::GetPolicy

virtual SchedulingPolicy GetPolicy () const

Interface Category:

API.

Purpose:

Gets the policy value for this object.

Calling Context:

Pure virtual function.

Parameters:

Return Value:

Returns the policy.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

This pure virtual function has to be overridden by the derived classes. This function is for Taligent internal use only.

Member Function: TThreadSchedule::GetMaximumPriority

virtual AbsolutePriority GetMaximumPriority () const

Interface Category:

API.

Purpose:

Gets the maximum priority value associated with this object.

Calling Context:

Pure virtual function.

Parameters:

Return Value:

Returns a priority value.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

This pure virtual function has to be overridden by the derived classes. This function is for Taligent internal use only.

Member Function: TThreadSchedule::GetMinimumPriority

virtual AbsolutePriority GetMinimumPriority () const

Interface Category:

API.

Purpose:

Gets the minimum priority value for this object.

Calling Context:

Pure virtual function.

Parameters:

Return Value:

Returns a priority value.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

This pure virtual function has to be overridden by the derived classes. This function is for Taligent internal use only.

Member Function: TThreadSchedule::SetPriority

virtual void SetPriority (const AbsolutePriority thePriority)

Interface Category:

API.

Purpose:

Sets the priority value for this object.

Calling Context:

Called to set a priority value for this object.

Parameters:

Return Value:

None.

Exceptions:

Throws no exceptions, passes all exceptions through.

Concurrency:

Not multithread safe.

Other Considerations:

This pure virtual function has to be overridden by the derived classes. This function is for Taligent internal use only.
Click the icon to mail questions or corrections about this material to Taligent personnel.
Copyright©1995 Taligent,Inc. All rights reserved.