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

TCircularList * Storage
 
TThread * ActiveThread
 

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: