ConOpSys V2970  P004.07
ANVILEX control operating system
Public Member Functions | Public Attributes | Private Attributes | List of all members
TThreadManager Class Reference

#include <Thread_Manager.h>

Collaboration diagram for TThreadManager:
Collaboration graph

Public Member Functions

 TThreadManager ()
 
 ~TThreadManager ()
 
VOID Initialize (DOUBLE ClockFrequency)
 
BOOL SetSwitchTime (DOUBLE ThreadTime)
 
VOID Run ()
 
VOID Stop ()
 
VOID Create (TThread *Thread)
 
VOID Destroy (TThread *Thread)
 
I32 GetThreadCount ()
 
VOID EnterCriticalSection ()
 
VOID ExitCriticalSection ()
 
VOID SwitchImmediate ()
 

Public Attributes

TCircularListStorage
 
TThreadActiveThread
 

Private Attributes

DOUBLE Resolution
 
DOUBLE NormalizedResolution
 
U32 RealtimeThreadTimerPrescaler
 
U32 HighPriorityThreadTimerPrescaler
 
U32 NormalPriorityThreadTimerPrescaler
 
U32 LowPriorityThreadTimerPrescaler
 
U32 IdleThreadTimerPrescaler
 
U32 CriticalSectionsCounter
 

Constructor & Destructor Documentation

◆ TThreadManager()

TThreadManager::TThreadManager ( )

References ActiveThread, CriticalSectionsCounter, NormalizedResolution, NULL, Resolution, Storage, and ThreadManagerInterrupt().

Here is the call graph for this function:

◆ ~TThreadManager()

TThreadManager::~TThreadManager ( )

References Storage.

Member Function Documentation

◆ Create()

VOID TThreadManager::Create ( TThread Thread)

◆ Destroy()

VOID TThreadManager::Destroy ( TThread Thread)

References ActiveThread, TCircularList::Delete(), TCircularList::IsEmpty(), TThread::NeedToDestroy, and Storage.

Here is the call graph for this function:

◆ EnterCriticalSection()

VOID TThreadManager::EnterCriticalSection ( )

◆ ExitCriticalSection()

VOID TThreadManager::ExitCriticalSection ( )

◆ GetThreadCount()

I32 TThreadManager::GetThreadCount ( )

References TCircularList::GetCount(), and Storage.

Here is the call graph for this function:

◆ Initialize()

VOID TThreadManager::Initialize ( DOUBLE  ClockFrequency)

References NormalizedResolution, and Resolution.

◆ Run()

VOID TThreadManager::Run ( )

◆ SetSwitchTime()

BOOL TThreadManager::SetSwitchTime ( DOUBLE  ThreadTime)

◆ Stop()

VOID TThreadManager::Stop ( )

◆ SwitchImmediate()

VOID TThreadManager::SwitchImmediate ( )

Member Data Documentation

◆ ActiveThread

TThread* TThreadManager::ActiveThread

◆ CriticalSectionsCounter

U32 TThreadManager::CriticalSectionsCounter
private

◆ HighPriorityThreadTimerPrescaler

U32 TThreadManager::HighPriorityThreadTimerPrescaler
private

Referenced by Create(), and SetSwitchTime().

◆ IdleThreadTimerPrescaler

U32 TThreadManager::IdleThreadTimerPrescaler
private

Referenced by Create(), and SetSwitchTime().

◆ LowPriorityThreadTimerPrescaler

U32 TThreadManager::LowPriorityThreadTimerPrescaler
private

Referenced by Create(), and SetSwitchTime().

◆ NormalizedResolution

DOUBLE TThreadManager::NormalizedResolution
private

Referenced by Initialize(), and TThreadManager().

◆ NormalPriorityThreadTimerPrescaler

U32 TThreadManager::NormalPriorityThreadTimerPrescaler
private

Referenced by Create(), and SetSwitchTime().

◆ RealtimeThreadTimerPrescaler

U32 TThreadManager::RealtimeThreadTimerPrescaler
private

Referenced by Create(), and SetSwitchTime().

◆ Resolution

DOUBLE TThreadManager::Resolution
private

◆ Storage

TCircularList* TThreadManager::Storage

The documentation for this class was generated from the following files: